- 浏览: 63184 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
最新评论
-
softor:
能否将一个.war的文件设成虚拟目录?
Jboss虚拟目录 -
jolestar:
不知道啥原因,我的一个朋友也这么说。不过我的ff一直稳定,无论 ...
火狐(fireFox)浏览器就知道吹牛(实际使用感受) -
Firede:
我家的IE7经常假死,
FF倒是跑的很顺。
用FF不因为别的 ...
火狐(fireFox)浏览器就知道吹牛(实际使用感受) -
ashion:
引用CS,CS-Source,帝国时代3,极品飞车10(英文) ...
玩QQ游戏每天超过2小时的人比较弱智 -
pig345:
哥们同情你。我目前正要离开这样一个小公司
这里的博客相册可以当网络硬盘使用
1. ackage com.gamvan.tools;
2. import java.io.BufferedReader;
3. import java.io.File;
4. import java.io.FileInputStream;
5. import java.io.FileOutputStream;
6. import java.io.FileWriter;
7. import java.io.IOException;
8. import java.io.InputStream;
9. import java.io.InputStreamReader;
10. import java.io.PrintWriter;
11. import java.util.StringTokenizer;
12. public class FileOperate {
13. private String message;
14. public FileOperate() {
15. }
16.
17. /**
18. * 读取文本文件内容
19. * @param filePathAndName 带有完整绝对路径的文件名
20. * @param encoding 文本文件打开的编码方式
21. * @return 返回文本文件的内容
22. */
23. public String readTxt(String filePathAndName,String encoding) throws IOException{
24. encoding = encoding.trim();
25. StringBuffer str = new StringBuffer("");
26. String st = "";
27. try{
28. FileInputStream fs = new FileInputStream(filePathAndName);
29. InputStreamReader isr;
30. if(encoding.equals("")){
31. isr = new InputStreamReader(fs);
32. }else{
33. isr = new InputStreamReader(fs,encoding);
34. }
35. BufferedReader br = new BufferedReader(isr);
36. try{
37. String data = "";
38. while((data = br.readLine())!=null){
39. str.append(data+" ");
40. }
41. }catch(Exception e){
42. str.append(e.toString());
43. }
44. st = str.toString();
45. }catch(IOException es){
46. st = "";
47. }
48. return st;
49. }
50.
51. /**
52. * 新建目录
53. * @param folderPath 目录
54. * @return 返回目录创建后的路径
55. */
56. public String createFolder(String folderPath) {
57. String txt = folderPath;
58. try {
59. java.io.File myFilePath = new java.io.File(txt);
60. txt = folderPath;
61. if (!myFilePath.exists()) {
62. myFilePath.mkdir();
63. }
64. }
65. catch (Exception e) {
66. message = "创建目录操作出错";
67. }
68. return txt;
69. }
70.
71. /**
72. * 多级目录创建
73. * @param folderPath 准备要在本级目录下创建新目录的目录路径 例如 c:myf
74. * @param paths 无限级目录参数,各级目录以单数线区分 例如 a|b|c
75. * @return 返回创建文件后的路径 例如 c:myfac
76. */
77. public String createFolders(String folderPath, String paths){
78. String txts = folderPath;
79. try{
80. String txt;
81. txts = folderPath;
82. StringTokenizer st = new StringTokenizer(paths,"|");
83. for(int i=0; st.hasMoreTokens(); i++){
84. txt = st.nextToken().trim();
85. if(txts.lastIndexOf("/")!=-1){
86. txts = createFolder(txts+txt);
87. }else{
88. txts = createFolder(txts+txt+"/");
89. }
90. }
91. }catch(Exception e){
92. message = "创建目录操作出错!";
93. }
94. return txts;
95. }
96.
97.
98. /**
99. * 新建文件
100. * @param filePathAndName 文本文件完整绝对路径及文件名
101. * @param fileContent 文本文件内容
102. * @return
103. */
104. public void createFile(String filePathAndName, String fileContent) {
105.
106. try {
107. String filePath = filePathAndName;
108. filePath = filePath.toString();
109. File myFilePath = new File(filePath);
110. if (!myFilePath.exists()) {
111. myFilePath.createNewFile();
112. }
113. FileWriter resultFile = new FileWriter(myFilePath);
114. PrintWriter myFile = new PrintWriter(resultFile);
115. String strContent = fileContent;
116. myFile.println(strContent);
117. myFile.close();
118. resultFile.close();
119. }
120. catch (Exception e) {
121. message = "创建文件操作出错";
122. }
123. }
124.
125. /**
126. * 有编码方式的文件创建
127. * @param filePathAndName 文本文件完整绝对路径及文件名
128. * @param fileContent 文本文件内容
129. * @param encoding 编码方式 例如 GBK 或者 UTF-8
130. * @return
131. */
132. public void createFile(String filePathAndName, String fileContent, String encoding) {
133.
134. try {
135. String filePath = filePathAndName;
136. filePath = filePath.toString();
137. File myFilePath = new File(filePath);
138. if (!myFilePath.exists()) {
139. myFilePath.createNewFile();
140. }
141. PrintWriter myFile = new PrintWriter(myFilePath,encoding);
142. String strContent = fileContent;
143. myFile.println(strContent);
144. myFile.close();
145. }
146. catch (Exception e) {
147. message = "创建文件操作出错";
148. }
149. }
150.
151. /**
152. * 删除文件
153. * @param filePathAndName 文本文件完整绝对路径及文件名
154. * @return Boolean 成功删除返回true遭遇异常返回false
155. */
156. public boolean delFile(String filePathAndName) {
157. boolean bea = false;
158. try {
159. String filePath = filePathAndName;
160. File myDelFile = new File(filePath);
161. if(myDelFile.exists()){
162. myDelFile.delete();
163. bea = true;
164. }else{
165. bea = false;
166. message = (filePathAndName+"
167. 删除文件操作出错");
168. }
169. }
170. catch (Exception e) {
171. message = e.toString();
172. }
173. return bea;
174. }
175.
176.
177. /**
178. * 删除文件夹
179. * @param folderPath 文件夹完整绝对路径
180. * @return
181. */
182. public void delFolder(String folderPath) {
183. try {
184. delAllFile(folderPath); //删除完里面所有内容
185. String filePath = folderPath;
186. filePath = filePath.toString();
187. java.io.File myFilePath = new java.io.File(filePath);
188. myFilePath.delete(); //删除空文件夹
189. }
190. catch (Exception e) {
191. message = ("删除文件夹操作出错");
192. }
193. }
194.
195.
196. /**
197. * 删除指定文件夹下所有文件
198. * @param path 文件夹完整绝对路径
199. * @return
200. * @return
201. */
202. public boolean delAllFile(String path) {
203. boolean bea = false;
204. File file = new File(path);
205. if (!file.exists()) {
206. return bea;
207. }
208. if (!file.isDirectory()) {
209. return bea;
210. }
211. String[] tempList = file.list();
212. File temp = null;
213. for (int i = 0; i < tempList.length; i++) {
214. if (path.endsWith(File.separator)) {
215. temp = new File(path + tempList[i]);
216. }else{
217. temp = new File(path + File.separator + tempList[i]);
218. }
219. if (temp.isFile()) {
220. temp.delete();
221. }
222. if (temp.isDirectory()) {
223. delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件
224. delFolder(path+"/"+ tempList[i]);//再删除空文件夹
225. bea = true;
226. }
227. }
228. return bea;
229. }
230.
231. /**
232. * 复制单个文件
233. * @param oldPathFile 准备复制的文件源
234. * @param newPathFile 拷贝到新绝对路径带文件名
235. * @return
236. */
237. public void copyFile(String oldPathFile, String newPathFile) {
238. try {
239. int bytesum = 0;
240. int byteread = 0;
241. File oldfile = new File(oldPathFile);
242. if (oldfile.exists()) { //文件存在时
243. InputStream inStream = new FileInputStream(oldPathFile); //读入原文件
244. FileOutputStream fs = new FileOutputStream(newPathFile);
245. byte[] buffer = new byte[1444];
246. while((byteread = inStream.read(buffer)) != -1){
247. bytesum += byteread; //字节数 文件大小
248. System.out.println(bytesum);
249. fs.write(buffer, 0, byteread);
250. }
251. inStream.close();
252. }
253. }catch (Exception e) {
254. message = ("复制单个文件操作出错");
255. }
256. }
257.
258.
259. /**
260. * 复制整个文件夹的内容
261. * @param oldPath 准备拷贝的目录
262. * @param newPath 指定绝对路径的新目录
263. * @return
264. */
265. public void copyFolder(String oldPath, String newPath) {
266. try {
267. new File(newPath).mkdirs(); //如果文件夹不存在 则建立新文件夹
268. File a=new File(oldPath);
269. String[] file=a.list();
270. File temp=null;
271. for (int i = 0; i < file.length; i++) {
272. if(oldPath.endsWith(File.separator)){
273. temp=new File(oldPath+file[i]);
274. }else{
275. temp=new File(oldPath+File.separator+file[i]);
276. }
277. if(temp.isFile()){
278. FileInputStream input = new FileInputStream(temp);
279. FileOutputStream output = new FileOutputStream(newPath + "/" +
280. (temp.getName()).toString());
281. byte[] b = new byte[1024 * 5];
282. int len;
283. while ((len = input.read(b)) != -1) {
284. output.write(b, 0, len);
285. }
286. output.flush();
287. output.close();
288. input.close();
289. }
290. if(temp.isDirectory()){//如果是子文件夹
291. copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
292. }
293. }
294. }catch (Exception e) {
295. message = "复制整个文件夹内容操作出错";
296. }
297. }
298.
299. /**
300. * 移动文件
301. * @param oldPath
302. * @param newPath
303. * @return
304. */
305. public void moveFile(String oldPath, String newPath) {
306. copyFile(oldPath, newPath);
307. delFile(oldPath);
308. }
309.
310.
311. /**
312. * 移动目录
313. * @param oldPath
314. * @param newPath
315. * @return
316. */
317. public void moveFolder(String oldPath, String newPath) {
318. copyFolder(oldPath, newPath);
319. delFolder(oldPath);
320. }
321. public String getMessage(){
322. return this.message;
323. }
324. }
2. import java.io.BufferedReader;
3. import java.io.File;
4. import java.io.FileInputStream;
5. import java.io.FileOutputStream;
6. import java.io.FileWriter;
7. import java.io.IOException;
8. import java.io.InputStream;
9. import java.io.InputStreamReader;
10. import java.io.PrintWriter;
11. import java.util.StringTokenizer;
12. public class FileOperate {
13. private String message;
14. public FileOperate() {
15. }
16.
17. /**
18. * 读取文本文件内容
19. * @param filePathAndName 带有完整绝对路径的文件名
20. * @param encoding 文本文件打开的编码方式
21. * @return 返回文本文件的内容
22. */
23. public String readTxt(String filePathAndName,String encoding) throws IOException{
24. encoding = encoding.trim();
25. StringBuffer str = new StringBuffer("");
26. String st = "";
27. try{
28. FileInputStream fs = new FileInputStream(filePathAndName);
29. InputStreamReader isr;
30. if(encoding.equals("")){
31. isr = new InputStreamReader(fs);
32. }else{
33. isr = new InputStreamReader(fs,encoding);
34. }
35. BufferedReader br = new BufferedReader(isr);
36. try{
37. String data = "";
38. while((data = br.readLine())!=null){
39. str.append(data+" ");
40. }
41. }catch(Exception e){
42. str.append(e.toString());
43. }
44. st = str.toString();
45. }catch(IOException es){
46. st = "";
47. }
48. return st;
49. }
50.
51. /**
52. * 新建目录
53. * @param folderPath 目录
54. * @return 返回目录创建后的路径
55. */
56. public String createFolder(String folderPath) {
57. String txt = folderPath;
58. try {
59. java.io.File myFilePath = new java.io.File(txt);
60. txt = folderPath;
61. if (!myFilePath.exists()) {
62. myFilePath.mkdir();
63. }
64. }
65. catch (Exception e) {
66. message = "创建目录操作出错";
67. }
68. return txt;
69. }
70.
71. /**
72. * 多级目录创建
73. * @param folderPath 准备要在本级目录下创建新目录的目录路径 例如 c:myf
74. * @param paths 无限级目录参数,各级目录以单数线区分 例如 a|b|c
75. * @return 返回创建文件后的路径 例如 c:myfac
76. */
77. public String createFolders(String folderPath, String paths){
78. String txts = folderPath;
79. try{
80. String txt;
81. txts = folderPath;
82. StringTokenizer st = new StringTokenizer(paths,"|");
83. for(int i=0; st.hasMoreTokens(); i++){
84. txt = st.nextToken().trim();
85. if(txts.lastIndexOf("/")!=-1){
86. txts = createFolder(txts+txt);
87. }else{
88. txts = createFolder(txts+txt+"/");
89. }
90. }
91. }catch(Exception e){
92. message = "创建目录操作出错!";
93. }
94. return txts;
95. }
96.
97.
98. /**
99. * 新建文件
100. * @param filePathAndName 文本文件完整绝对路径及文件名
101. * @param fileContent 文本文件内容
102. * @return
103. */
104. public void createFile(String filePathAndName, String fileContent) {
105.
106. try {
107. String filePath = filePathAndName;
108. filePath = filePath.toString();
109. File myFilePath = new File(filePath);
110. if (!myFilePath.exists()) {
111. myFilePath.createNewFile();
112. }
113. FileWriter resultFile = new FileWriter(myFilePath);
114. PrintWriter myFile = new PrintWriter(resultFile);
115. String strContent = fileContent;
116. myFile.println(strContent);
117. myFile.close();
118. resultFile.close();
119. }
120. catch (Exception e) {
121. message = "创建文件操作出错";
122. }
123. }
124.
125. /**
126. * 有编码方式的文件创建
127. * @param filePathAndName 文本文件完整绝对路径及文件名
128. * @param fileContent 文本文件内容
129. * @param encoding 编码方式 例如 GBK 或者 UTF-8
130. * @return
131. */
132. public void createFile(String filePathAndName, String fileContent, String encoding) {
133.
134. try {
135. String filePath = filePathAndName;
136. filePath = filePath.toString();
137. File myFilePath = new File(filePath);
138. if (!myFilePath.exists()) {
139. myFilePath.createNewFile();
140. }
141. PrintWriter myFile = new PrintWriter(myFilePath,encoding);
142. String strContent = fileContent;
143. myFile.println(strContent);
144. myFile.close();
145. }
146. catch (Exception e) {
147. message = "创建文件操作出错";
148. }
149. }
150.
151. /**
152. * 删除文件
153. * @param filePathAndName 文本文件完整绝对路径及文件名
154. * @return Boolean 成功删除返回true遭遇异常返回false
155. */
156. public boolean delFile(String filePathAndName) {
157. boolean bea = false;
158. try {
159. String filePath = filePathAndName;
160. File myDelFile = new File(filePath);
161. if(myDelFile.exists()){
162. myDelFile.delete();
163. bea = true;
164. }else{
165. bea = false;
166. message = (filePathAndName+"
167. 删除文件操作出错");
168. }
169. }
170. catch (Exception e) {
171. message = e.toString();
172. }
173. return bea;
174. }
175.
176.
177. /**
178. * 删除文件夹
179. * @param folderPath 文件夹完整绝对路径
180. * @return
181. */
182. public void delFolder(String folderPath) {
183. try {
184. delAllFile(folderPath); //删除完里面所有内容
185. String filePath = folderPath;
186. filePath = filePath.toString();
187. java.io.File myFilePath = new java.io.File(filePath);
188. myFilePath.delete(); //删除空文件夹
189. }
190. catch (Exception e) {
191. message = ("删除文件夹操作出错");
192. }
193. }
194.
195.
196. /**
197. * 删除指定文件夹下所有文件
198. * @param path 文件夹完整绝对路径
199. * @return
200. * @return
201. */
202. public boolean delAllFile(String path) {
203. boolean bea = false;
204. File file = new File(path);
205. if (!file.exists()) {
206. return bea;
207. }
208. if (!file.isDirectory()) {
209. return bea;
210. }
211. String[] tempList = file.list();
212. File temp = null;
213. for (int i = 0; i < tempList.length; i++) {
214. if (path.endsWith(File.separator)) {
215. temp = new File(path + tempList[i]);
216. }else{
217. temp = new File(path + File.separator + tempList[i]);
218. }
219. if (temp.isFile()) {
220. temp.delete();
221. }
222. if (temp.isDirectory()) {
223. delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件
224. delFolder(path+"/"+ tempList[i]);//再删除空文件夹
225. bea = true;
226. }
227. }
228. return bea;
229. }
230.
231. /**
232. * 复制单个文件
233. * @param oldPathFile 准备复制的文件源
234. * @param newPathFile 拷贝到新绝对路径带文件名
235. * @return
236. */
237. public void copyFile(String oldPathFile, String newPathFile) {
238. try {
239. int bytesum = 0;
240. int byteread = 0;
241. File oldfile = new File(oldPathFile);
242. if (oldfile.exists()) { //文件存在时
243. InputStream inStream = new FileInputStream(oldPathFile); //读入原文件
244. FileOutputStream fs = new FileOutputStream(newPathFile);
245. byte[] buffer = new byte[1444];
246. while((byteread = inStream.read(buffer)) != -1){
247. bytesum += byteread; //字节数 文件大小
248. System.out.println(bytesum);
249. fs.write(buffer, 0, byteread);
250. }
251. inStream.close();
252. }
253. }catch (Exception e) {
254. message = ("复制单个文件操作出错");
255. }
256. }
257.
258.
259. /**
260. * 复制整个文件夹的内容
261. * @param oldPath 准备拷贝的目录
262. * @param newPath 指定绝对路径的新目录
263. * @return
264. */
265. public void copyFolder(String oldPath, String newPath) {
266. try {
267. new File(newPath).mkdirs(); //如果文件夹不存在 则建立新文件夹
268. File a=new File(oldPath);
269. String[] file=a.list();
270. File temp=null;
271. for (int i = 0; i < file.length; i++) {
272. if(oldPath.endsWith(File.separator)){
273. temp=new File(oldPath+file[i]);
274. }else{
275. temp=new File(oldPath+File.separator+file[i]);
276. }
277. if(temp.isFile()){
278. FileInputStream input = new FileInputStream(temp);
279. FileOutputStream output = new FileOutputStream(newPath + "/" +
280. (temp.getName()).toString());
281. byte[] b = new byte[1024 * 5];
282. int len;
283. while ((len = input.read(b)) != -1) {
284. output.write(b, 0, len);
285. }
286. output.flush();
287. output.close();
288. input.close();
289. }
290. if(temp.isDirectory()){//如果是子文件夹
291. copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
292. }
293. }
294. }catch (Exception e) {
295. message = "复制整个文件夹内容操作出错";
296. }
297. }
298.
299. /**
300. * 移动文件
301. * @param oldPath
302. * @param newPath
303. * @return
304. */
305. public void moveFile(String oldPath, String newPath) {
306. copyFile(oldPath, newPath);
307. delFile(oldPath);
308. }
309.
310.
311. /**
312. * 移动目录
313. * @param oldPath
314. * @param newPath
315. * @return
316. */
317. public void moveFolder(String oldPath, String newPath) {
318. copyFolder(oldPath, newPath);
319. delFolder(oldPath);
320. }
321. public String getMessage(){
322. return this.message;
323. }
324. }
发表评论
-
invalid entry size(expected 429924352 but got 4299
2008-04-13 14:29 6421在安装Oracle10g的时候会发生如下的错误: D:\Or ... -
Oracle数据库的备份与恢复
2008-04-13 14:06 2210(一)导出/导入(EXPORT/IMPORT) 1.用 ... -
About java.lang.outOfMemory
2008-04-13 13:41 1853修改eclipse.ini文件 -vmargs -Xms40m ... -
导出oracle中表的部分数据
2008-04-13 13:26 3370以前我导出数据的时候都是全部导出,但这次遇到的表里的数据实在太 ... -
关于oracle数据库(远程对象调用)
2008-04-13 13:16 899-- Drop existing database l ... -
中文与Unicode编码互转
2008-04-13 13:01 1531<html> <head><ti ... -
时间格式化
2008-04-13 12:55 906String dateStr = "Fri Dec ... -
JSP中连接数据库
2008-04-13 12:52 803<%@ page language="Java ... -
Java读取XML
2008-04-13 12:49 1203public class Untitled1 { pub ... -
利用JAVA绘图动态生成图片发送到客户端IE
2008-04-13 12:44 3717package com.gepower.ps.eps.topi ... -
排列组合在工作中的实际运用
2008-04-13 12:42 936个人理解:这个问题的本质是,每一行不选和选1,对于乘积的结 ... -
Jboss虚拟目录
2008-04-13 12:39 3027D:\jboss-4.0.2\server\default\d ... -
HashMap遍历
2008-04-13 12:34 5284import java.util.HashMap; impor ... -
Log4j与Jboss4共存
2008-04-13 12:33 1610log4j是一个很好的开源的日志项目,下面就我在实际中使用的一 ... -
Struts国际化的东西被我小小的一个类就能搞定
2008-04-13 12:30 930Struts国际化的东西叽叽歪歪 不好用, 有那么麻烦么?在J ... -
小日本是这样处理LIST表单更新/插入的
2008-04-13 12:22 1028在JSP中 每个字段对应一个数组。 <input nam ... -
连接数据库的相关代码
2008-04-13 12:18 978package ecogp.dml; import java. ... -
加密密码
2008-04-13 12:16 876package jp.co.smile.common; im ... -
如何将JSP中RadioBox设为不可选状态,并且不变灰
2008-04-13 12:14 2386试过了onchange,onclick事件都不好使。(不用 d ... -
本地计算机上的OracleOraHome92Agent服务启动后又停止了
2008-04-13 12:12 4503本地计算机上的OracleOraHome92Agent服务启动 ...
相关推荐
java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...
Java文件操作封装类
java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。
java视频教程 Java文件操作 JavaFile
如何在Java中操作文件呢?转载供大家欣赏
本项目"java文件操作(增删改查)"是基于控制台实现的一个无界面程序,利用Eclipse集成开发环境编写,实现了基本的文件管理功能。下面我们将深入探讨这些知识点。 首先,我们要了解Java中的`java.io`包,它是处理输入...
Java文件操作一例:Copy 复制文件,虽然是复制文件,不过通过本源码你可以学习很多相关的Java基础技巧,比如Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器、如何得到选择文件的绝对路径、如何...
java文件操作大全.chm
java 文件操作 压缩文件 解压文件 复制文件 复制文件夹
java 文件操作工具类
java 文件操作 包括 文件删除 导出jsp Word 格式文件 ,文件合并修改等。
《Java文件操作大全》电子书 本文汇集常用文件操作方法,包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。
最全的java文件操作大全,包括文件的存储,建立,判断文件是否存在,建立文件删除文件,附加源码!!!
Java文件操作中的一些常用方法的总结,可以参考参考啦!
里面包含了File类的作用、IO流、字节流字符流、异常处理、缓冲流、转换流、序列化、打印流的详细讲解
Java文件操作大全[汇编].pdf
pan.razerpen.file中提供一个多对象单文件存储类FileMap和一个单对象单文件存储类FilePage。 提供方便快捷的基本类型和对象的文件存取方式。详细用法见sample.razerpen.file