2015-11-30 417 views
1

我正在研究一個程序,該程序涉及到我必須搜索.txt文件中的特定行並將其中的字符串轉換爲其他字符。從java中的特定文本行中讀取特定字符

例如,字符串實際上是由我認爲可以轉換爲整數的數字組成。主要的是,例如,在第2行上,存儲有5位數字的郵政編碼。我需要根據數字將其轉換爲某些輸出。換句話說,我需要數字0-9的變量,並根據每個數字輸出特定的輸出。

現在這裏是代碼,我必須提示用戶輸入存儲在文件中的信息,並且可以讀取和打印剛輸入的所有信息,但我不確定如何去處理其餘的信息。

import java.io.*; 
import java.util.*; 
import java.io.FileReader; 
import java.io.IOException; 

public class ObjectTest2 { 
public static void main(String [] args) throws FileNotFoundException, IOException { 

    // The name of the file to open. 
    String fileName = "information.txt"; 
    Scanner myScanner = new Scanner(System.in); 

    try { 
     // Assume default encoding. 
     FileWriter fileWriter = 
      new FileWriter(fileName); 

     // Always wrap FileWriter in BufferedWriter. 
     BufferedWriter bufferedWriter = 
      new BufferedWriter(fileWriter);    
     // append a newline character. 
     //This shit here prompts the user for information and stores it in seperate lines to be 
     //called on by the later section. 
     System.out.print("What is your name? "); 
     bufferedWriter.write(myScanner.nextLine()); 
     bufferedWriter.newLine(); 
     System.out.print("What is your 5 digit zip code?"); 
     bufferedWriter.write(myScanner.nextLine()); 
     bufferedWriter.newLine(); 
     System.out.print("What is your +4 digit zip? "); 
     bufferedWriter.write(myScanner.nextLine()); 
     bufferedWriter.newLine(); 
     System.out.print("What is your address? "); 
     bufferedWriter.write(myScanner.nextLine()); 

     // Always close files. 
     bufferedWriter.close(); 

     //reads the information file and prints what is typed 
     BufferedReader reader = new BufferedReader(new FileReader("information.txt")); { 
      while (true) { 
       String line = reader.readLine(); 
       if (line == null) { 
        break; 
       } 
       System.out.println(line); 
      } 
     }   
    } 
    catch(IOException ex) { 
     System.out.println(
      "Error writing to file '" 
      + fileName + "'"); 
     // Or we could just do this: 
     // ex.printStackTrace(); 
    } 
} 
} 
+1

那麼是什麼問題?你不知道如何搜索特定字符的字符串嗎? – JohnnyAW

+0

不適用於.txt文件中字符串中的特定行。 –

+0

那麼,文件中的「特定行」就是一個非常模糊的定義。你是否總是期望zip(例如)將成爲文件中的第二行?如果是這樣,那麼抓住第二條線。或者你期望在文件的任意一行中找到五位數字,並假設這是郵政編碼?他們是不同的問題。 – Bill

回答

0

你別無選擇,只能遍歷文件的每一行並搜索字符串。如果您想根據行號從文件中獲取一行字符串,請考慮創建一個方法。如果需要在同一文件上執行多次操作,並且文件內容不變,請使用映射根據行號緩存文件內容。

相關問題