Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 反转属性文件内容_Java_Ant_Properties File - Fatal编程技术网

Java 反转属性文件内容

Java 反转属性文件内容,java,ant,properties-file,Java,Ant,Properties File,我有一个属性文件(比如exmp.properties),类似这样 1. k5=500 2. k4=400 3. k3=300 4. k2=200 5. k1=100 我需要像这样反转此文件的内容 1. k1=100 2. k2=200 3. k3=300 4. k4=400 5. k5=500 有什么方法可以使用ANT任务或Java代码实现这一点吗?那只是一个文本文件。“”和“”。您需要执行以下操作: String input=“in.txt”; 字符串输出=“out.txt”; try(F

我有一个属性文件(比如exmp.properties),类似这样

1. k5=500
2. k4=400
3. k3=300
4. k2=200
5. k1=100
我需要像这样反转此文件的内容

1. k1=100
2. k2=200
3. k3=300
4. k4=400
5. k5=500

有什么方法可以使用ANT任务或Java代码实现这一点吗?

那只是一个文本文件。“”和“”。

您需要执行以下操作:

String input=“in.txt”;
字符串输出=“out.txt”;
try(FileWriter fw=newfilewriter(输出)){
//读所有的行
List lines=Files.readAllLines(path.get(input),Charset.defaultCharset());
//清除输出文件的内容
fw.写(“”);
//按相反顺序写入所有行
对于(int i=lines.size()-1;i>=0;i--){
fw.append(lines.get(i)+System.lineSeparator());
}
}捕获(例外e){}
这将读取文件的所有行,然后以相反的顺序写入它们。

这里有一个包含和嵌套的解决方案。
要使其正常工作,您的propertyfile需要在最后一个属性之后添加换行符,表示:

k5=500
k4=400
k3=300
k2=200
k1=100
-- empty line --
片段:

<project>
 <loadfile property="unsorted" srcfile="foobar.properties"/>
 <echo>unsorted: ${line.separator}${unsorted}</echo>

 <loadresource property="sorted">
  <string value="${unsorted}" />
   <filterchain>
    <sortfilter />
   </filterchain>
 </loadresource>
 <echo>sorted: ${line.separator}${sorted}</echo>
 <!-- write file -->
 <echo file="foobar_sorted.properties">${sorted}</echo>
</project>

除了回答为什么要反转属性文件的内容之外?因为你可以在秩序不重要的地方拿到你想要的任何财产?为什么?顺序在属性文件中不重要。这是一个散列图。文件顺序中没有顺序访问。对我来说,听起来像是一个家庭作业练习。
[echo] unsorted:
[echo] k5=500   
[echo] k4=400   
[echo] k3=300   
[echo] k2=200   
[echo] k1=100   
[echo] sorted:  
[echo] k1=100   
[echo] k2=200   
[echo] k3=300   
[echo] k4=400   
[echo] k5=500