我正在使用围绕FileReader的BufferedReader读取本地文件:
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// read the file
// (error handling snipped)
reader.close();
Run Code Online (Sandbox Code Playgroud)
我需要close()的FileReader为好,或将包装处理这个问题?我见过人们这样做的代码:
FileReader fReader = new FileReader(fileName);
BufferedReader bReader = new BufferedReader(fReader);
// read the file
// (error handling snipped)
bReader.close();
fReader.close();
Run Code Online (Sandbox Code Playgroud)
从servlet调用此方法,我想确保不打开任何句柄.
我能够通过读取Excel文件,FileReader但它输出文本以及奇怪的字符.我需要xls逐行读取文件,读取每列中的数据并将其转换为JSON.
有谁知道如何逐行读取xls文件.
任何帮助将受到高度赞赏.
请查看下面的代码:
// A.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(fileWriter);
// B.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bWriter = new BufferedWriter(fileWriter);
Run Code Online (Sandbox Code Playgroud)
这两种方法有什么区别?
什么时候应该在BufferedWriter上使用PrintWriter?
Reader和InputStream有什么区别?什么时候用?如果我可以使用Reader读取字符,为什么我会使用inputstream,我想读取对象?
尝试使用fileReader.readAsBinaryString通过AJAX将PNG文件上传到服务器,剥离代码(fileObject是包含我文件信息的对象);
var fileReader = new FileReader();
fileReader.onload = function(e) {
var xmlHttpRequest = new XMLHttpRequest();
//Some AJAX-y stuff - callbacks, handlers etc.
xmlHttpRequest.open("POST", '/pushfile', true);
var dashes = '--';
var boundary = 'aperturephotoupload';
var crlf = "\r\n";
//Post with the correct MIME type (If the OS can identify one)
if ( fileObject.type == '' ){
filetype = 'application/octet-stream';
} else {
filetype = fileObject.type;
}
//Build a HTTP request to post the file
var data = dashes + boundary + …Run Code Online (Sandbox Code Playgroud) 我有一个.gz格式的文件.用于读取此文件的java类是GZIPInputStream.但是,此类不会扩展Java的BufferedReader类.结果,我无法逐行读取文件.我需要这样的东西
reader = new MyGZInputStream( some constructor of GZInputStream)
reader.readLine()...
Run Code Online (Sandbox Code Playgroud)
我创建了我的类,它扩展了Java的Reader或BufferedReader类,并使用GZIPInputStream作为其变量之一.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
import java.util.zip.GZIPInputStream;
public class MyGZFilReader extends Reader {
private GZIPInputStream gzipInputStream = null;
char[] buf = new char[1024];
@Override
public void close() throws IOException {
gzipInputStream.close();
}
public MyGZFilReader(String filename)
throws FileNotFoundException, IOException {
gzipInputStream = new GZIPInputStream(new FileInputStream(filename));
}
@Override
public int read(char[] cbuf, int off, int len) throws IOException {
// TODO Auto-generated method stub
return gzipInputStream.read((byte[])buf, …Run Code Online (Sandbox Code Playgroud) 我想知道BufferedReader和之间的具体区别FileReader.
我知道这样做BufferedReader效率要高得多FileReader,但是有人可以解释一下原因(具体而且详细)吗?谢谢.
我正在使用FileReader API来读取本地文件.
<input type="file" id="filesx" name="filesx[]" onchange="readmultifiles(this.files)" multiple="" />
<script>
function readmultifiles(files) {
var ret = "";
var ul = document.querySelector("#bag>ul");
while (ul.hasChildNodes()) {
ul.removeChild(ul.firstChild);
}
for (var i = 0; i < files.length; i++) //for multiple files
{
var f = files[i];
var name = files[i].name;
alert(name);
var reader = new FileReader();
reader.onload = function(e) {
// get file content
var text = e.target.result;
var li = document.createElement("li");
li.innerHTML = name + "____" + text;
ul.appendChild(li);
}
reader.readAsText(f,"UTF-8");
} …Run Code Online (Sandbox Code Playgroud) 我正在构建一个图像调整大小/裁剪,我想在他们用模态(bootstrap)编辑它之后显示一个实时预览.我相信这应该可行,但我在console.log中得到0.这需要将原始图像的宽度和高度输入另一个脚本(我将在之后执行,现在只需要它们在console.log /变量中)
function doProfilePictureChangeEdit(e) {
var files = document.getElementById('fileupload').files[0];
var reader = new FileReader();
reader.onload = (function(theFile) {
document.getElementById('imgresizepreview').src = theFile.target.result;
document.getElementById('profilepicturepreview').src = theFile.target.result;
}
);
reader.readAsDataURL(files);
var imagepreview = document.getElementById('imgresizepreview');
console.log(imagepreview.offsetWidth);
$('img#imgresizepreview').imgAreaSelect({
handles: true,
enable: true,
aspectRatio: "1:1",
onSelectEnd: preview
});
$('#resizeprofilepicturemodal').modal('show');
};
Run Code Online (Sandbox Code Playgroud) 我想读取一个文件,并使用FileReader对象将其转换为base64编码的字符串.这是我使用的代码:
var reader = new FileReader();
reader.onloadend = function(evt) {
// file is loaded
result_base64 = evt.target.result;
};
reader.readAsDataURL(file);
但在这种情况下,我在事件处理程序(onLoadEnd事件)中获得转换的结果.我想要一个同步方法.有没有办法"readAsDataURL"方法可以直接返回'result_base64'变量的值?
谢谢
filereader ×10
java ×5
javascript ×5
file ×2
html5 ×2
dom ×1
dom-events ×1
encoding ×1
file-io ×1
html ×1
inputstream ×1
io ×1
json ×1
stream ×1
upload ×1
xls ×1