import java.io.*;
创新互联建站,为您提供重庆网站建设公司、网站制作、网站营销推广、网站开发设计,对服务成都轻质隔墙板等多个行业拥有丰富的网站建设及推广经验。创新互联建站网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!
public class FileDemo{
public static void main(String[] args)throws Exception{
//第一个参数是文件路径,第二个参数是要搜索的文件扩展名
getFile("D:\\JavaDemo",".txt");
}
private static void getFile(String pathName, final String endsWith)throws Exception{
File file = new File(pathName);
if(!file.exists())
throw new RuntimeException("文件不存在,你检索个P呀。");
file.listFiles(new FileFilter(){
public boolean accept(File file){
if(file.getName().endsWith(endsWith)){
System.out.println(file.getName());
return true;
}else
return false;
}
});
}
}
这个很简单的,不是什么问题。但是,重点是,你的小说是什么格式。咱们以最常见的txt格式为例来讨论这个问题。
1.数据库里应该设计“小说”表,存储每一本“小说”的信息。而这个表里,需要有小说的id,名称,作者等信息,而对应的,还需要有一个小说存储的地址信息,这个地址,就是小说在你服务端的地址,即你服务器硬盘上的存储路径。
2.客户在读小说时,客户端发送请求,服务端接收了客户请求,通过请求数据库,找到每本“小说”的在服务器硬盘上的地址,然后可以选择将字符串读取出来传送回客户端,或者直接把地址告诉客户端让用户进行下载。
3.明白了这个设计,更新也很简单。更新时,首先需要将小说上传至服务端硬盘;然后更新数据库,将小说的各种信息,包括存储地址,维护进数据库(这一步可以专门做一个管理页面进行维护),这样一本新的小说就更新完成了。
4.以上是大体的设计实现思路,你可以根据你的实际情况看下是否可行。
如果单线程来实现,就是一个主程序去爬,不断遍历。很简单的。
如果多线程,就主程序控制多线程去进行遍历。最好用一个线程池来进行管理,否则会随着遍历系统资源消耗过大的。
public static void main(String[] args) {
try{
File file = new File("E:\\a.txt");//创建文件对象
BufferedReader br = new BufferedReader(new FileReader(file)); //创建读取流
//读取数据
String temp = br.readLine();
String line;
while((line = br.readLine()) != null){
temp += "," + line;
}
if(temp == null){
System.out.println();
}else{
//分割字符串
String []str = temp.split(",");
//创建double数组并赋值
Double[] d = new Double[str.length];
for(int i = 0 ;i str.length ;i++){
d[i] = Double.parseDouble(str[i]);
}
//打印double数组
for(int i = 0 ; i d.length ; i++){
System.out.println(d[i]);
}
}
}catch(Exception e){
}
用百度搜索一下,就用“JAVA源代码“做为搜索条件。一般能找到很多网站。
要学JAVA最好还是找本书看一看。JAVA能做的东西很多,你要决定你的主攻方向然后就去找相应的资料。
你要学哪方面:
JAVA应用程序开发,
JAVA网络开发:JSP,APPLET。
JAVA手持设备软件开发,像手机软件等。
如果对程序还不是很懂,最好找本JAVA入门级的书看看,然后再决定。
以下是一些基本的功能代码,读取TXT部分代码来源于网络:
public static void readTxtFile(String filePath) {
try {
String encoding = "UTF-8";
File file = new File(filePath);
if (file.isFile() file.exists()) { // 判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
int offset = 0; //章节所在行数
int count = 1; //章节数
ListInfoVo list = new ArrayListInfoVo();
InfoVo infoVo;
while ((lineTxt = bufferedReader.readLine()) != null) {
infoVo = new InfoVo();
offset++;
if (lineTxt.contains("第") lineTxt.contains("章")) {
infoVo.setCount(count);
infoVo.setOffset(offset);
infoVo.setTitle(lineTxt);
list.add(infoVo);
count++;
}
}
System.out.println(list.size());
System.out.println(list.get(0).getCount());
System.out.println(list.get(0).getOffset());
System.out.println(list.get(0).getTitle());
read.close();
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
}
public static void main(String[] args) {
// Console.mainMenu();
String filePath = "C:\\20130815.txt";
readTxtFile(filePath);
}
InfoVo结构:
public class InfoVo {
private Integer count;
private Integer offset;
private String title;
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Integer getOffset() {
return offset;
}
public void setOffset(Integer offset) {
this.offset = offset;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}