java传递数据给JS

a774374883 2017-11-09 03:16:18
大神们好,下面是我的java部分代码,目的是获取指定路径下的指定类型文件,现在可以在控制台输出我要检索类型的文件,也可以创建一个txt保存这些路径与文件名。但是现在我又需要将这里得到的参数逐条传递到JS中 以 var 文件名 = "路径及名称改为的字符串" 的格式,不知道java部分怎么改,js代码怎么写。。第一次接手,很茫然,求大神指点
package filenameFilter;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;

public class FileSearch {

public static void main(String[] args) {

File dir = new File("C:\\Users\\yizhe.liu\\workspace\\ANG\\webapp");//检索路径
File file = new File("C:\\Users\\yizhe.liu\\workspace\\filenameFilter\\framework","test.txt");//创建一个文档用作存储
FilenameFilter searchTest = new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
// 创建返回值,测试文件是否包含在文件列表中
boolean flag = true;
// 用布尔型筛选文件类型是否为js或者html
if (name.toLowerCase().endsWith(".js")) {
} else if (name.toLowerCase().endsWith(".JS")) {
} else if (name.toLowerCase().endsWith(".Js")) {
} else if (name.toLowerCase().endsWith(".jS")) {
} else if (name.toLowerCase().endsWith(".htm")) {
} else if (name.toLowerCase().endsWith(".html")) {
} else if (name.toLowerCase().endsWith(".Html")) {
} else if (name.toLowerCase().endsWith(".HTML")) {
} else {
flag = false;
}
// 判断文件是否以js、JS等后缀名结尾的
//当返回true时,表示文件的类型满足要求
return flag;
}
};

ArrayList<File> path = new ArrayList<File>();
writeToArr(dir,searchTest,path);
writeTofile(path,file);
}

private static void writeTofile(ArrayList<File> al, File file) {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file)); //加入一个缓冲,能提高性能
for(File f: al){
//遍历,增强for循环
new String();
// bw.write(String.valueOf(f.length()));
bw.write(f.getAbsolutePath());//得到路径
bw.newLine();//写入一个行分隔符。
bw.flush();//刷新缓冲
}
} catch (IOException e) {
throw new RuntimeException("写入失败");
}finally{
if(bw != null)
try {
bw.close();
} catch (IOException e) {
throw new RuntimeException("关闭失败");
}
}
}//处理异常

public static void writeToArr(File dir, FilenameFilter searchTest, ArrayList<File> al) {
File []files = dir.listFiles();
for(File f : files){
if(f.isDirectory()){
//检查对象是否是文件夹
writeToArr(f, searchTest, al);
}else{
if(searchTest.accept(dir, f.getName())){
al.add(f);
System.out.println(f);
}
}
}
}
}
...全文
483 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ostools 2017-11-09
  • 打赏
  • 举报
回复
建个实体类File 有名称 和 路径2个字段 定义一个List<File> 你每次获取到名称和路径的时候,就setName setUrl 把实体类放到List<File>中 最后转成json传过去 前端 ajax获取
繁华终归落尽 2017-11-09
  • 打赏
  • 举报
回复
你发的文件操作,跟前后端传值有什么关系,没看懂
maradona1984 2017-11-09
  • 打赏
  • 举报
回复
if (name.toLowerCase().endsWith(".js")) { } else if (name.toLowerCase().endsWith(".JS")) { } else if (name.toLowerCase().endsWith(".Js")) { } else if (name.toLowerCase().endsWith(".jS")) { } else if (name.toLowerCase().endsWith(".htm")) { } else if (name.toLowerCase().endsWith(".html")) { } else if (name.toLowerCase().endsWith(".Html")) { } else if (name.toLowerCase().endsWith(".HTML")) { 这段代码有点多余,name.toLowerCase()为啥还要跟其他存在大写字母的比较 还有不知道你到底要干啥
a774374883 2017-11-09
  • 打赏
  • 举报
回复
可以大概写一下吗,,初学者有点搞不来。。。谢谢
ostools 2017-11-09
  • 打赏
  • 举报
回复
建个实体类 setName setUrl 放到List<entity> 转成json传过去 前端 ajax获取

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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