我的意思是100多MB大; 这样的文本文件可以推动编辑的信封.
我需要查看一个大型XML文件,但如果编辑器有错误则无法查看.
有什么建议?
我有一个大的(按线数)纯文本文件,我想分成较小的文件,也按行数.因此,如果我的文件有大约2M行,我想将它分成10个包含200k行的文件,或者包含20k行的100个文件(加上一个包含剩余部分的文件;均匀可分的无关紧要).
我可以在Python中相当容易地做到这一点,但我想知道是否有任何一种使用bash和unix utils的忍者方式(而不是手动循环和计数/分区行).
我有一个程序可以处理来自传感器系统的大量传感器数据.我目前正在考虑将程序的输出写入文本文件,以便我可以从程序中检查它是否正常处理.
现在我在ArrayList之前编写一些标识符,然后使用将ArrayList写入文件ArrayList.toString().
lineToWrite = identifer1 + ";" + identifier2 + ";" + ArrayList.toString()
Run Code Online (Sandbox Code Playgroud)
输出文件总共包含21行,并且ArrayLists从100个项目到400.000个项目大.使用该toString()方法使我通常无法使用任何文件编辑程序打开文件并检查它们.
我想过对ArrayList中的项进行一些小处理:
String lineToWrite = "";
String arrayListString = "\n";
for(String s : sensorLine){
arrayListString += "\t" + s + "\n";
}
lineToWrite = identifer1 + ";" + identifier2 + ";" + arrayListString;
Run Code Online (Sandbox Code Playgroud)
但似乎这对于一些足够大的ArrayLists来说是永远的.有没有人有更好/更快的方法来做这个或知道一个好的文件查看程序?
我使用了以下,没有以下问题:
作为传感器数据的一个侧面说明:我总共有230万个传感器输入.
为了扩展问题,我可能不得不补充说,它是将巨大的数组拆分成一个被证明是个问题的单个字符串的一部分.程序在数组上迭代非常缓慢,因为它只是增加了arrayListString每次传递的大小,并且这占用了大量的内存/处理能力.
至于写方法本身,我使用a BufferedWriter(),用实际方法变量的占位符:
output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename, toAppend), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
对于我正在使用的实际写作:
output.append(line) …Run Code Online (Sandbox Code Playgroud) arraylist ×1
bash ×1
editor ×1
file ×1
filewriter ×1
java ×1
large-data ×1
large-files ×1
text-editor ×1
unix ×1
windows ×1
xml ×1