0

次の形式のテキスト ファイルがあります。

詳細.txt

ファイルは .txt ファイルです。このファイルからコースのタイトルを読み取り、対応する教科書とインストラクターの情報を出力したいと考えています。しかし、どのプロセスに従うべきかわかりませんか?情報を配列に格納するのは効率的ではありません! どうすればいいですか?注: ファイル内の情報を変更することはできません。変更しないでください!! 明らかに、ファイルは次のコードによって読み取られます。

File newFile=new File("C:/details");

しかし、コースのタイトル、教科書、インストラクターのラベルに従って、このファイルからデータを抽出するにはどうすればよいですか?

4

5 に答える 5

0
//Find the directory for the SD Card using the API
//*Don't* hardcode "/sdcard"
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"file.txt");

//Read text from file
StringBuilder text = new StringBuilder();

try {
    BufferedReader br = new BufferedReader(new FileReader(file));
    String line;

    while ((line = br.readLine()) != null) {
        text.append(line);
        text.append('\n');
    }
}
catch (IOException e) {
    //You'll need to add proper error handling here
}

//Find the view by its id
TextView tv = (TextView)findViewById(R.id.text_view);

//Set the text
tv.setText(text);
于 2012-12-15T04:48:33.027 に答える
0

FileUtils.readFileToString(new File( "" C:/details.txt ");を使用できます。

今、あなたはあなたの希望に基づいて必要なデータを抽出することができます

于 2012-12-15T04:53:16.687 に答える
0
  1. まずファイルを一行一行正しく読み、入力したコース名を検索して「Java」を考えてみましょう

  2. タイトルにヒットすると、そのタイトルに関連するすべての情報があるため、ファイルから 3 つの連続した行が必要であることがわかります。

    if(str.startsWith(title)); {  // for title = "Java"
      line1 = 1st line  // contains ISBN and First Name
      line2 = 2nd line  // Title and Last Name
      line3 = 3rd line  // Author and Department
      line4 = 4th line  // Email
      break;  // this will take you out of while loop
    }
    
  3. これらの 4 行で文字列操作を行い、必要に応じてデータを抽出して使用します。

私は家にいるので、正確なコードを教えることはできません。しかし、これに従えば問題は解決します。これを行っている間に問題が発生した場合はお知らせください。

これに従って、文字列操作に関する情報を入手してください

于 2012-12-16T18:28:39.627 に答える
0

String Tokenizer を使用して各文字列を分離し、それらを Linked List または Array List に格納します。コースのタイトル、インストラクターなどのタイトルごとに個別のリストを用意し、それらを印刷します

于 2012-12-15T04:15:18.070 に答える
0

Scanner クラスを使用する

Scanner s=new Scanner(new File("C:/Details.txt"));
while(s.hasNext())
{
  System.out.println(s.nextLine());
}

単語ごとに作業したい場合は、String Tokenizer を使用します

この記事を参照してください

于 2012-12-15T04:26:21.257 に答える