[英]Removing Nth line of File with BufferedReader/BufferedWriter
[英]BufferedReader/BufferedWriter Output line by line
我有以下問題:我需要輸入12行的文件。 每行包含8個字符。 我必須將其輸出到8行12個字符的文件中。 我必須逐行讀取輸入,並同時輸出每一行。 因此,不允許我先閱讀輸入,閱讀后只能切成8行,每行12個字符。 我正在使用BufferedReader讀取文件,並使用BufferedWriter寫入文件。 因此,通過示例:
輸入:
12345678
qwertyui
Asdfghjk
輸出:
12345678qwer
蒂亞斯德菲格
編輯:這確實是一項家庭作業。
BufferedWriter bufferedWriter = null;
FileReader fr;
try {
fr = new FileReader(new File(directory to file));
bufferedWriter = new BufferedWriter(new FileWriter(directory to file);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
bufferedWriter.write(output);
bufferedWriter.newLine();
line = br.readLine();
}
br.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
//Close the BufferedWriter
try {
if (bufferedWriter != null) {
bufferedWriter.flush();
bufferedWriter.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
這就是我讀取輸入文件並寫入輸出文件的方式,這是我目前的代碼。
使用Reader
類的read
方法。 ( FileReader
是Reader
的后代)。 我不會實現整個邏輯,但是這里是一個框架。
FileReader inputStream = null;
FileWriter outputStream = null;
try {
inputStream =
new FileReader("inputfile.txt");
outputStream =
new FileWriter("outputfile.txt");
int c;
int counter = 1;
while ((c = inputStream.read()) != -1) {
//keep a counter that will cycle for 12 characters
//check if c represents a alphabet or number, write it to file else skip
//when counter is 12 write a newline
outputStream.write(c);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.