我想在java中将xml文件作为字符串读取,以便对其进行加密。
我目前的方法是把它当作一个txt文件。
我的问题是xml文件中的第三行有259094个字符长,由于某种原因,scanner的nextline()方法只能将最多131072个字符读入字符串,而不是整行。下面是读取xml文件的代码,这是我使用的xml文件。
try {
File myFile = new File(filename);
Scanner myReader = new Scanner(myFile);
int lineCount = 0;
while (myReader.hasNextLine()) {
if (lineCount > 0) { // To make sure it doesn't append \n before the first line[enter link description here][1]
data += "\n";
}
String temp = myReader.nextLine();
data += temp;
lineCount += 1;
}
myReader.close();
}
catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
1条答案
按热度按时间dfddblmv1#
你提供的代码在我的系统上运行良好。
但是,如果您的目标是加密文件(不解析它),那么就没有理由将其作为字符串读取。你可以把它当作一个字节流来加密。
下面的代码就是一个例子:
这将读取一个文件并将输出保存到另一个文件。请注意,为了确保安全,您需要将iv更改为随机值,并对每个文件进行更改(可能是在加密文件的开头保存iv)