我有一個input.txt
文件,它包含假設520行。 我必須在java中製作一個代碼,它的行爲就像這樣。從java中的一個文本文件創建多個文件
從頭200行創建名爲file-001.txt
的第一個文件。然後從201-400行創建另一個file-002
。然後file-003.txt
從其餘行。
我已經編碼這個,它只寫了第200行。爲了將工作更新到上述情況,我需要做出什麼變化。
public class DataMaker {
public static void main(String args[]) throws IOException{
DataMaker dm=new DataMaker();
String file= "D:\\input.txt";
int roll=1;
String rollnum ="file-00"+roll;
String outputfilename="D:\\output\\"+rollnum+".txt";
String urduwords;
String path;
ArrayList<String> where = new ArrayList<String>();
int temp=0;
try(BufferedReader br = new BufferedReader(new FileReader(file))) {
for(String line; (line = br.readLine()) != null;) {
++temp;
if(temp<201){ //may be i need some changes here
dm.filewriter(line+" "+temp+")",outputfilename);
}
}
} catch (FileNotFoundException e) {
System.out.println("File not found");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
void filewriter(String linetoline,String filename) throws IOException{
BufferedWriter fbw =null;
try{
OutputStreamWriter writer = new OutputStreamWriter(
new FileOutputStream(filename, true), "UTF-8");
fbw = new BufferedWriter(writer);
fbw.write(linetoline);
fbw.newLine();
}catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
finally {
fbw.close();
}
}
}
一種方法可以使用if else
,但我不能只是使用它,因爲我的實際文件是6000+線。
我希望這段代碼能像我運行代碼一樣工作,併爲我提供30多個輸出文件。
這裏大概在正確的軌道上。而不是<201,看看[模數算術](http://stackoverflow.com/questions/90238/whats-the-syntax-for-mod-in-java)。 –