在java中读写记事本
我在记事本中有一个字符串,就像这样 记事本中的文本:在java中读写记事本,java,file,file-io,core,Java,File,File Io,Core,我在记事本中有一个字符串,就像这样 记事本中的文本: date amount intrest tenure debitamount name address state city zipcode phone altphone mailid refaddress ref refphoneno emptype employment 12/11/1987 12345 3.5 144 32456 durga f rao 456 under road dallas dl 2435 2222-22-2
date amount intrest tenure debitamount name address state city zipcode phone altphone mailid refaddress ref refphoneno emptype employment
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road
dallas dl 2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com
165 nala road raj 22-22-22-2222 it 12
15/05/1986 2345 6.4 144 45789 rama k nand 789 residensy
newyork ny 2222-22-2222 2222-22-2222 ramaknand@yahoomail.com
189 ring road hen 22-22-22-22-2222 it 12
16/12/1985 1234 6.5 144 35265 rama j rao 123 dura residensy meknoor
mn 2222-22-2222 2222-22-2222 ramajrao@orkut.com 891 cing road vinky
22-22-22-2222 it 12
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road dallas dl
2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com 165 nala road raj
22-22-22-2222 it 12
out put should be like below
in between name and address single space and all other double space
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road
dallas dl 2435 2222-22-2222 2222-22-2222 durgaao@gmail.com
165 nala road raj 22-22-22-2222 it 12
15/05/1986 2345 6.4 144 45789 rama k nand 789 residensy
newyork ny 2222-22-2222 2222-22-2222 ramaad@yahoomail.com
189 ring road hen 22-22-22-22-2222 it 12
16/12/1985 1234 6.5 144 35265 rama j rao 123 dura residensy meknoor
mn 2222-22-2222 2222-22-2222 ramajo@orkut.com 891 cing road vinky
22-22-22-2222 it 12
12/11/1987 12345 3.5 144 32456 dura f rao 456 under road dallas dl
2435 2222-22-2222 2222-22-2222 durga@gmail.com 165 nala road raj
22-22-22-2222 it 12
我希望我的输出应该如下所示
在名称和地址之间的单个空格和所有其他双空格
我写了下面的代码,但无法获得所需的输出
有人能帮我吗
我试过的代码:
public static String newLine = System.getProperty("line.separator");
public static void main(String args[]){
FileWriter iWrite=null;
try {
iWrite = new FileWriter("C:/Documents and Settings/pavan/My Documents/output.txt");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
List<String> lines = FileUtils.readLines(new File("C:/Documents and Settings/pavan/My Documents/input.txt"));
for(String lines1:lines){
iWrite.write(lines1);
iWrite.write(newLine);
}
iWrite.close();
} catch (IOException e) {
e.printStackTrace();
}
}
公共静态字符串newLine=System.getProperty(“line.separator”);
公共静态void main(字符串参数[]){
FileWriter-iWrite=null;
试一试{
iWrite=newfilewriter(“C:/Documents and Settings/pavan/My Documents/output.txt”);
}捕获(IOE1异常){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
试一试{
列表行=FileUtils.readLines(新文件(“C:/Documents and Settings/pavan/My Documents/input.txt”);
用于(字符串行1:行){
i write.write(第1行);
i write.write(换行符);
}
iWrite.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
这是一个家庭作业问题,所以我没有想到一个最佳解决方案,但这里有一个sudo代码,告诉你如果需要可以做什么
在此之前,假设数据实际上位于基于标题的一行中:
1987年12月11日达拉斯dl 2435 2222-22-2222-22公路下的12345 3.5 144 32456 durga f rao 456durgafrao@gmail.comnala路165号raj 22-22-22-2222 it 12
- 创建数组的ArrayList aka
ArrayList
- 对于阅读的每一行,使用
split(“”)或
根据空格将换行符拆分为字符串split(“\s”)
- 一旦所有行被拆分并存储在arraylist中,就可以遍历该列表
- 在字符串数组列表中,可以使用hack遍历数组
- 问题是,您知道在哪一点需要添加额外的空间,因此在数组中,当您到达特定位置时,可以添加额外的空间。在其他任何地方,您都可以只附加一个空格
本质上,做的不多。考虑使用
PrintWriter
而不是FileWriter
。请在问题中提供完整信息,不要在外部发布链接,而是发布程序的预期和实际输出。另外,可能需要在iWrite.write
语句中使用。除非有可用的输入格式规范,否则在读取带空格的字段时会遇到问题。