对文件的操作!!

pea 2004-07-29 08:03:04
想用JAVA实现一个功能!!
1)在本地磁盘 例如:E:\test 文件夹test中有好多文件夹,每个文件夹里又有好多不同类型的文件,如:*.bat *.java 等
2)现在想做的是:想写个程序,查找文件夹test里含有某个关键字如:value的文件(此处注意的是,此关键字不能是在注释行里,也不能是某个词的一部分,如:valuebbs)
查到之后,删除此文件,并把此文件的路径包括文件名,写入excel里。
请高手们指教!!!
不胜感激!!!
...全文
153 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pea 2004-08-08
  • 打赏
  • 举报
回复
少候结分!!
多谢支持!!
pea 2004-08-08
  • 打赏
  • 举报
回复
感谢高手门的指教
我是刚入门,这是面试的一道题,
楼上大哥看来是高手还望多多指教,
看来还得倍加努力学习呀
snap2008cn 2004-07-30
  • 打赏
  • 举报
回复
这样的问题也来问!

干脆找个抢手帮做得了!
lbl20020123 2004-07-30
  • 打赏
  • 举报
回复
import java.io.*;

public class MB2
{
public static void main(String[] args)
{
if (args.length < 1)
{
System.out.println("over. You must input one parameter at least.");
System.exit(0);
}

try
{
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(args[0])));

BufferedWriter out = new BufferedWriter (new OutputStreamWriter(new FileOutputStream(args[0] + ".bak")));

int count = 0;
String sin, sout, sout2, num;

sin = in.readLine();

int first, last, off;

while (sin != null)
{
sout = sin.trim();

first = 0;
last = 0;
off = 0;
count = 0;

first = sout.indexOf(' ', 0);
if (first == -1)
{
sin = in.readLine();
continue;
}
while (first != -1)
{
last = first;
first = sout.indexOf(' ',first + 1);
}

num = sout.substring(last + 1, sout.length());


first = sout.indexOf(' ', 0);
last = sout.indexOf(' ',first + 1);

sout2 = sout.substring(first + 1, last) + "[" + num + "]," + sout.substring(0, first) +
"v(" + num + ")," ;

first = last;
last = sout.indexOf(' ',first + 1);

sout2 += sout.substring(first + 1, last);

out.write(sout2, 0, sout2.length());

out.newLine();

sin = in.readLine();
}

out.close();
in.close();

File file1 = new File(args[0]);
if (file1.exists())
{
file1.delete();
}

File file2 = new File(args[0] + ".bak");
if (file2.exists())
{
file2.renameTo(file1);
}
}
catch (Exception e)
{
System.err.println(e);
}
}
}
lbl20020123 2004-07-30
  • 打赏
  • 举报
回复
import java.io.*;

public class JavaIO
{
public static void main(String[] args)
{
String a = new String(), b = "hello";
System.out.println(a);
System.out.println(b);

/* try
{
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("c:\\aaa.txt")));
out.write("Hello,everyone bitch!");
out.close();
}
catch(Exception e)
{
System.err.println(e);
}
finally
{
System.out.println("done.");
}

*/ try
{
RandomAccessFile raf = new RandomAccessFile("c:\\aaa.txt", "rw");
System.out.println(raf.length());
String s = raf.readLine();
// s.seek(1);
// System.out.println(s);
// System.out.println(raf.getFD());
raf.seek(raf.length());
raf.writeBytes("\n" + s);
raf.close();
}
catch(Exception e)
{
System.err.println(e);
}
}
}
lbl20020123 2004-07-30
  • 打赏
  • 举报
回复
import java.io.*;
import java.util.*;

class TestDirectory
{
public static void main(String[] args)
{
if (args.length < 1)
{
System.out.println("over. You must input one parameter at least.");
System.exit(0);
}

WorkClass r1 = new WorkClass(args[0]);

Thread t1 = new Thread(r1);

t1.start();

}
}

class WorkClass implements Runnable
{
String pathName;
File myFile;
Vector v1;
public WorkClass(String path)
{
pathName = new String(path);
v1 = new Vector();
v1.add(pathName);
myFile = new File((String)v1.remove(0));
}

public void run()
{
while(myFile.isDirectory() == true)
{
System.out.println("[" + myFile.getName() + "]");
String filenameList[] = myFile.list();

for(int i = 0; i < filenameList.length; i++)
{
File file = new File(pathName + "\\" + filenameList[i]);

if (file.isDirectory())
{
v1.add(new String(pathName + "\\" + filenameList[i]));
}
else if (filenameList[i].endsWith(".sql") == true)
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(pathName + "\\" + filenameList[i])));
BufferedWriter out = new BufferedWriter (new OutputStreamWriter(new FileOutputStream(pathName + "\\" + filenameList[i] + ".bak")));

String sin, sout;
sin = in.readLine();
while (sin != null)
{
if (sin.startsWith("REM") == true)
{
sout = "--" + sin;
}
else
{
sout = sin;
}

out.write(sout, 0, sout.length());
out.newLine();
sin = in.readLine();
}

out.close();
in.close();

File fileBak = new File(pathName + "\\" + filenameList[i] + ".bak");
if (file.exists())
{
file.delete();
}

if (fileBak.exists())
{
fileBak.renameTo(file);
}

System.out.println("\t" + filenameList[i] + "\t\t\t\t successful !");
}
catch(Exception e)
{
System.err.println(e);
}
}
}

if (v1.isEmpty() == true)
{
System.out.println("program end.");
break;
}
else
{
pathName = (String)v1.remove(0);
myFile = new File(pathName);
}
}
}
}
华昌001 2004-07-29
  • 打赏
  • 举报
回复
看看有关帮助吧,不难的
weimenren 2004-07-29
  • 打赏
  • 举报
回复
这东西你应该自己写,写完后,你最少对java.io包有足够的了解。 你可以看看 thinking in java 的 相关章节.



pea 2004-07-29
  • 打赏
  • 举报
回复
怎么没有人顶呢!!
难道是没有高手吗?
用于windows下面的vim编辑器。 给喜欢vim的人使用。详细如下: 好吧,详细点,这里写出一些基本的命令: 【什么是vi】 vi就是linux命令行下的最著名的编辑器之一,(编辑器就是类似windows记事本的功能,不过vi功能比记事本强大无限倍!^_^),现在实际使用的都是vim,它是vi的改进版本,所以现在的vi基本上就是vim了。 【vi能做什么】 第一个功能不用多说,vi可以编辑文本文件。至于其他的功能,多得无法列举,我只说我所知的一些典型的功能应用: (1)编辑文本文件 (2)方便地阅读程序源代码 (3)当文件目录浏览器来用 (4)提供编程、调试环境 (5)利用vi执行一些脚本文件(vi有自己的脚本文件语法) (x)等等等等...... 【vi的操作模式】   vi具有两种基本模式,为输入模式(或插入模式、编辑模式)和指令模式(或命令模式)。输入模式下输入字符,文本就会显示在屏幕上;而指令模式下输入字符就解释为一个输入命令并执行,而不会显示相应的字符。理解指令模式最简单方式就是想象平时剪切、复制以及粘贴数据时所发生的情况。 使用[Esc]键可以停止当前操作(插入或者命令)重新回到指令模式,准备接受新的指令。如果本来就在指令模式下面,将会响铃一下。 【最基本的使用】 这里提供了使用vi得最基本的操作,能够实现大多数的编辑目的。如果你肯花几分钟把“最基本的使用”的内容都实践一下,那么你至少可以独立地在vim中朝你想要得方向“前进”了。如果你不想学习,那么就把它当作一个“字典”吧。 *用vi打开一个文件: 输入“vi filename”. 这里,filename就是你要打开的文件的名字,默认打开文件后vi处于指令模式。 *进入编辑模式编辑打开的文件: 输入“i”. 或输入“a”. 进入编辑模式后,你可以直接敲入想要输入的字符到文件,两者的区别是i在当前字符前面开始插入,a在当前字符后面开始插入。 *退出编辑模式: 输入“[Esc]”. 这样,将返回指令模式,准备接收你要传达给vi的指令并执行,如果之前已经在指令模式下,那么系统将响铃提醒一下。 **以下命令都是在命令模式下进行: *撤销修改: 输入“u”. 这里,相比以前的vi来说,vim支持多步撤销。 *恢复修改: 输入“[Ctrl]r”. 这里,和撤销命令相反,是撤销的撤销,也可多步。 *复制行到剪切板: 输入“yy”. *复制选定内容到剪切板: (1)输入“v”。 (2)按方向键将高亮选择的内容。 (3)输入“y”。 这里,开始输入v使vi临时进入了一个"选择模式",输入方向键可以选择,输入y将选择的内容复制剪切板。 *删除行: 输入“dd”. 注意,vi的删除等价于剪切,删除的内容会保存到剪切板中。 *删除选定内容: (1)输入“v”。 (2)按方向键将高亮选择的内容。 (3)输入“d”。 这里,开始输入v使vi临时进入了一个“选择模式”,输入方向键可以选择,输入d将选择的内容删除。 *粘贴: 输入“p”. 这样会将剪切板的内容粘贴到光标位置或者光标下一行。 *查找字符并定位到第一个匹配处: 输入“/character”. 这里character是待查找的字符,只要先输入/,再输入待查字符,最后回车即可定位到第一个匹配的字符处。 *定位到匹配查找的下一个字符处: 输入“n”. *定位到匹配查找的上一个字符处: 输入“N”. *保存文件: 输入“:w”. 注意w前面的':',输入':'之后,vim会将':'之后的输入解释为待执行的指令。 *退出: 输入“:q”. 这里,如果文件没有保存,将提示无法退出,除非你强制退出,不保存文件,或者保存退出。 *强制退出: 输入“:q!”. *保存退出: 输入“:wq”. 或输入“ZZ”. *察看帮助 输入":help". ** 另外还有一个简易的教程: 输入命令:vimtutor.

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧