Java中对文件的操作
java中提供了io类库,可以轻松的用java实现对文件的各种操作。下面就来说一下如何用java来实现这些操作。
1。新建目录
<%@ page contentType= "text/html;charset=gb2312 "%>
<%
String filePath= "c:/aaa/ ";
filePath=filePath.toString();//中文转换
java.io.File myFilePath=new java.io.File(filePath);
if(!myFilePath.exists())
myFilePath.mkdir();
%>
2。新建文件
<%@ page contentType= "text/html;charset=gb2312 "%>
<%@ page import= "java.io.* " %>
<%
String filePath= "c:/哈哈.txt ";
filePath=filePath.toString();
File myFilePath=new File(filePath);
if(!myFilePath.exists())
myFilePath.createNewFile();
FileWriter resultFile=new FileWriter(myFilePath);
PrintWriter myFile=new PrintWriter(resultFile);
String strContent = "中文测试 ".toString();
myFile.println(strContent);
resultFile.close();
%>
3。删除文件
<%@ page contentType= "text/html;charset=gb2312 "%>
<%
String filePath= "c:/支出证明单.xls ";
filePath=filePath.toString();
java.io.File myDelFile=new java.io.File(filePath);
myDelFile.delete();
%>
4。文件拷贝
<%@ page contentType= "text/html; charset=gb2312 " %>
<%@ page import= "java.io.* " %>
<%
int bytesum=0;
int byteread=0;
file://读到流中
InputStream inStream=new FileInputStream( "c:/aaa.doc ");
FileOutputStream fs=new FileOutputStream( "d:/aaa.doc ");byte[] buffer =new byte[1444];
int length;
while ((byteread=inStream.read(buffer))!=-1)
{
out.println( " <DT> <B> "+byteread+ " </B> </DT> ");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
inStream.close();
%>
5。整个文件夹拷贝
<%@ page contentType= "text/html;charset=gb2312 "%>
<%@ page import= "java.io.* " %>
<%String url1= "C:/aaa ";
String url2= "d:/java/ ";
(new File(url2)).mkdirs();
File[] file=(new File(url1)).listFiles();
for(int i=0;i <file.length;i++){
if(file[i].isFile()){
file[i].toString();
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(url2+ "/ "+(file[i].getName()).toString());
byte[] b=new byte[1024*5];
int len;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
}
%>
6。文件下载
<%@ page contentType= "text/html; charset=gb2312 " %>
<%@ page import= "java.io.* " %>
<%
String fileName = "zsc104.swf ".toString();
//读到流中
InputStream inStream=new FileInputStream( "c:/zsc104.swf ");
//设置输出的格式
response.reset();
response.setContentType( "bin ");
response.addHeader( "Content-Disposition ", "attachment; filename=\ " " + fileName + "\ " ");
//循环取出流中的数据
byte[] b = new byte[100];
int len;
while((len=inStream.read(b)) > 0)
response.getOutputStream().write(b,0,len);
inStream.close();
%>
7。数据库字段中的文件下载
<%@ page contentType= "text/html; charset=gb2312 " %>
<%@ page import= "java.sql.* "%>
<%@ page import= "java.lang.* " %>
<%@ page import= "java.io.* " %>
<%@ page import= "com.jspsmart.upload.* " %>
<%@ page import= "DBstep.iDBManager2000.* "%>
<%
int bytesum=0;
int byteread=0;
//打开数据库
ResultSet result=null;
String Sql=null;
PreparedStatement prestmt=null;
DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
DbaObj.OpenConnection();
//取得数据库中的数据
Sql= "select * from t_local_zhongzhuan ";
result=DbaObj.ExecuteQuery(Sql);
result.next();
file://将数据库中的数据读到流中
InputStream inStream=result.getBinaryStream( "content ");
FileOutputStream fs=new FileOutputStream( "c:/dffdsafd.doc ");
byte[] buffer =new byte[1444];
int length;
while ((byteread=inStream.read(buffer))!=-1)
{
out.println( " <DT> <B> "+byteread+ " </B> </DT> ");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
%>
8。把网页保存成文件
<%@ page import= "java.text.* "%>
<%@ page import= "java.util.* "%>
<%@ page import= "java.io.* "%>
<%@ page import= "java.net.* "%>
<%
URL stdURL = null;
BufferedReader stdIn = null;
PrintWriter stdOut = null;
try {
stdURL = new URL( "http://www.163.com ");
}
catch (MalformedURLException e) {
throw e;
}
try {
stdIn = new BufferedReader(new InputStreamReader(stdURL.openStream()));
stdOut = new PrintWriter(new BufferedWriter(new FileWriter( "c:/163.html ")));
}
catch (IOException e) {
}
/***把URL指定的页面以流的形式读出,写成指定的文件***/
try {
String strHtml = " ";
while((strHtml = stdIn.readLine())!=null) {
stdOut.println(strHtml);
}
}
catch (IOException e) {
throw e;
}
finally {
try {
if(stdIn != null)
stdIn.close();
if(stdOut != null)
stdOut.close();
}
catch (Exception e) {
System.out.println(e);
}
}
%>
9。直接下载网上的文件
<%@ page import= "java.io.* "%>
<%@ page import= "java.net.* "%>
<%
int bytesum=0;
int byteread=0;
URL url = new URL( "http://pimg.163.com/sms/micheal/logo.gif ");
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
FileOutputStream fs=new FileOutputStream( "c:/abc.gif ");
byte[] buffer =new byte[1444];
int length;
while ((byteread=inStream.read(buffer))!=-1)
{
out.println( " <DT> <B> "+byteread+ " </B> </DT> ");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
%>
10。按行读文件
<%@ page contentType= "text/html; charset=gb2312 " %> <%@ page import= "java.io.* " %>
<% FileReader myFileReader=new FileReader( "c:/哈哈.txt "); BufferedReader myBufferedReader=new BufferedReader(myFileReader); String myString=null; String resultString=new String(); while((myString=myBufferedReader.readLine())!=null) { resultString=resultString+myString+ " <br> "; } out.println(resultString); myFileReader.close(); %>