public static String loadAFileToStringDE1(File f) throws IOException {
long beginTime = System.currentTimeMillis();
InputStream is = null;
String ret = null;
try {
is = new BufferedInputStream( new FileInputStream(f) );
long contentLength = f.length();
ByteArrayOutputStream outstream = new ByteArrayOutputStream( contentLength > 0 ? (int) contentLength : 1024);
byte[] buffer = new byte[4096];
int len;
while ((len = is.read(buffer)) > 0) {
outstream.write(buffer, 0, len);
}
outstream.close();
ret = outstream.toString();
//byte[] ba = outstream.toByteArray();
//ret = new String(ba);
} finally {
if(is!=null) {try{is.close();} catch(Exception e){} }
}
long endTime = System.currentTimeMillis();
System.out.println("方法1用时"+ (endTime-beginTime) + "ms");
return ret;
}
public static String loadAFileToStringDE2(File f) throws IOException {
long beginTime = System.currentTimeMillis();
InputStream is = null;
String ret = null;
try {
is = new FileInputStream(f) ;
long contentLength = f.length();
byte[] ba = new byte[(int)contentLength];
is.read(ba);
ret = new String(ba);
} finally {
if(is!=null) {try{is.close();} catch(Exception e){} }
}
long endTime = System.currentTimeMillis();
System.out.println("方法2用时"+ (endTime-beginTime) + "ms");
return ret;
}
public static String loadAFileToStringDE3(File f) throws IOException {
long beginTime = System.currentTimeMillis();
BufferedReader br = null;
String ret = null;
try {
br = new BufferedReader(new FileReader(f));
String line = null;
StringBuffer sb = new StringBuffer((int)f.length());
while( (line = br.readLine() ) != null ) {
sb.append(line).append(LINE_BREAK);
}
ret = sb.toString();
} finally {
if(br!=null) {try{br.close();} catch(Exception e){} }
}
long endTime = System.currentTimeMillis();
System.out.println("方法3用时"+ (endTime-beginTime) + "ms");
return ret;
}
3个方法去读取一个大于50M的文件,当不设置jvm参数时都OutofMemery,当设置-Xmx128M时。只有方法3 可以通过,设置到-Xmx256M时也只有方法3可以通过,干脆设置512M,都可以了,运行时间如果正常的话一般都在4~5S
public static String ReadFileToString(String url) {
StringBuffer str = new StringBuffer();
BufferedReader in = null;
File inputFile = null;
try {
inputFile = new File(url);
in = new BufferedReader(new InputStreamReader(new FileInputStream(inputFile), "GB2312"));
String line = null;
str = new StringBuffer((int) inputFile.length());
while ((line = in.readLine()) != null) {
str.append(line);
}
in.close();
}
catch (FileNotFoundException e2) {
try {
if (!new File(inputFile.getParent()).exists())
new File(inputFile.getParent()).mkdirs();
inputFile.createNewFile();
}
catch (IOException e) {
e.printStackTrace();
}
}
catch (IOException e3) {
e3.printStackTrace();
}
return str.toString();
}
分享到:
相关推荐
String xmlContent = FileUtils.readFileToString(new File("path_to_xml_file"), "UTF-8"); Document document = DocumentHelper.parseText(xmlContent); ``` 2. **查找和修改XML节点** DOM4J提供了解析后的...
String contentGBK = FileUtils.readFileToString(inputFile, Charsets.GBK); ``` 2. **转换编码** 现在,我们有了GBK编码的文件内容,接下来使用`String`对象的`getBytes(Charset charset)`方法将字符串转换为...
private String readFileToString(File file) throws IOException { StringBuilder content = new StringBuilder(); BufferedReader reader = new BufferedReader(new FileReader(file)); String line; while (...
- `readFileToString(File file, String encoding)`:读取文件内容并转换为字符串。 - `writeStringToFile(File file, String content, String encoding)`:将字符串写入文件。 - `copyFile(File source, File dest)...
String str = readFileToString(file, fromEncode); writeStringToFile(file, str, toEncode); } catch (IOException e) { System.out.println("Convert failed. File not exist?"); e.printStackTrace(); } ...
- `readFileToString(File file, Charset encoding)`: 这个方法用于将整个文件读取为一个字符串,指定字符编码。它比直接使用`BufferedReader`或`InputStreamReader`更简洁,同时避免了手动处理字符编码问题。 - `...
- **实例方法**:`createFile`创建新文件,`deleteFile`删除文件,`copyFile`复制文件,`readFileToString`读取文件内容并转化为字符串,`writeStringToFile`将字符串写入文件。 4. **ReguUtil**: - **正则...
- `public static String readFileToString(File file, String encoding)`: 这个方法用于将文件内容读取为字符串。它使用`Files.readAllBytes()`读取整个文件的字节,然后使用`new String(bytes, encoding)`转换为...
然后,你可以使用`FileUtils.readFileToString()`方法(假设已添加Apache Commons IO依赖)来读取文件内容。 读取到CSV文件内容后,我们可以使用Java 8的`Stream API`配合`BufferedReader`解析每一行,或者使用第三...
- `readFileToString(File file, Charset encoding)`: 这个方法会读取整个文件并返回其内容,作为字符串。`encoding`参数指定字符编码。 - `writeStringToFile(File file, String data, Charset encoding)`: 写...
public static String readFileToString(File file) throws Exception { FileInputStream fis = new FileInputStream(file); InputStreamReader reader = new InputStreamReader(fis, "UTF-8"); Source source =...
- `JUtils.readFileToString(File file, String encoding)`: 读取文件内容并转换为字符串,支持指定编码。 - `JUtils.writeFileFromString(String content, File file, String encoding)`: 将字符串写入文件,同样...
FileUtils提供了一些静态方法来读取文件内容,如`readFileToString`用于将整个文件读取为一个字符串,支持指定编码,例如UTF-8。`readLines`方法则可以按行读取文件内容,返回一个包含所有行的列表。这些方法简化了...
String content = FileUtils.readFileToString(fileItem.getInputStream(), StandardCharsets.UTF_8); ``` **总结** Apache Commons FileUpload和Commons IO的结合使用,极大地简化了JSP环境下的文件上传处理。...
工具类可能封装了读取文件到字符串、写字符串到文件、复制文件等常见操作,如`readFileToString(File file, Charset charset)`,`writeStringToFile(File file, String content, boolean append)`。 5. **异常处理*...
- `readFileToString(String filePath)`: 读取文件内容并返回一个字符串,通常用于文本文件。 - `writeStringToFile(String content, String filePath)`: 将字符串内容写入文件,可能会有追加或覆盖模式的选择。 ...
String fileContent = FileUtils.readFileToString(uploadedFile, StandardCharsets.UTF_8); // 处理文件内容... } } } catch (FileUploadException e) { e.printStackTrace(); } } } ``` 这段代码中,...
3. **读写操作**:为了读取文件内容,`FileUtil`类可能提供了`readFileToString(String filePath)`或`readFileToBytes(String filePath)`方法,分别将文件内容转换为字符串和字节数组。同样,它也可能包含`...
例如,`readFileToString(File file, String encoding)`用于读取文件内容,`deleteFile(String filePath)`用于删除文件。 10. **RsaUtil.java**:RSA是一种非对称加密算法,常用于数据的安全传输。此类可能包含RSA...
String content = FileUtils.readFileToString(new File("path_to_file"), "UTF-8"); System.out.println(content); ``` 3. 使用`Files`类(Java NIO.2): ```java import java.nio.charset.StandardCharsets...