⑴ java 如何判断一个路径是否是有效路径
importjava.io.File;
/**
*本程序演示File类的使用.
*@version1.02005年5月20日
*@authorMichael
*/
classListDirectory{
/**存储要搜索的目录名称.*/
配碧StringdirectoryName;
/**声明一个File对象.*/
FilefileObj;
/**
*构造方法.
*@paramname是一个字符串
*/
ListDirectory(Stringname){
directoryName=name;
fileObj=newFile(name);
}
/**
*显示目录和子目录的方法.
*/
voiddisplay(){
if(fileObj.isDirectory()){
System.out.println("目录是:"+directoryName);
String[]fileName=fileObj.list();
for(intctr=0;ctr<fileName.length;ctr++){
如州FilenextFileObj=newFile(directoryName+"/"+fileName[ctr]);
if(nextFileObj.isDirectory()){
System.out.println(fileName[ctr]+"是一个目录");
}else{
System.out.println(fileName[ctr]+"是一个文件");
}
}
}else{
System.out.println(directoryName+"不是一个有效目录");
}
}
}
/**
*本程序测试ListDirectory类.
*@version1.02005年5月20日
*@authorMichael
*/
classDirectoryTest{
/**
*构造方法.
*/
protectedDirectoryTest(){
}
/**
*这是一个main方法.
*@paramargs被传递至main方法
*/
publicstaticvoidmain(String[]args){
ListDirectorylistObj=newListDirectory("java");
listObj.display();
渣卖蔽}
}
⑵ Java中怎样根据文件的路径去判断该文件夹中是否存在该文件
1. 首先明确一点的是:test.txt文件可以和test文件夹同时存在同一目录下;test文件不能和test文件夹同时存在同一目录下。
原因是:
(1)win的文件和文件夹都是以节点形式存放,这就意味着相同的文件和文件名不能处在同一目录下,会命名冲突。
(2)文件后缀名也算是文件名的一部分,即test.txt文件和test文件不是相同文件名的文件。
2. 基于以上原因,如果我想在d:创建一个test文件夹,但是d:下面有一个test文件,那么由于命名冲突,是不可能创建成功的。
所以,在创建之前,要通过file.exists()判断是否存在test命名的文件或者文件夹,如果返回true,是不能创建的;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
File file = new File("d:\test_file.txt");
Main.judeFileExists(file);
File dir = new File("d:\test_dir");
Main.judeDirExists(dir);
}// 判断文件是否存在
public static void judeFileExists(File file) {
if (file.exists()) {
System.out.println("file exists");
} else {
System.out.println("file not exists, create it ...");
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} // 判断文件夹是否存在
public static void judeDirExists(File file) {
if (file.exists()) {
if (file.isDirectory()) {
System.out.println("dir exists");
} else {
System.out.println("the same name file exists, can not create dir");
} }
else { System.out.println("dir not exists, create it ...");
file.mkdir();
}
}
}
然后再通过file.isDirectory()来判断这是不是一个文件夹。
⑶ JAVA正则表达式(如何判断文件路径合法,路径例如:D:\测试\test.csv),请帮忙解答一下,谢谢。
java中"\"要转义成"\\",如果路径错误会报异常的,直接catch就OK了
⑷ javaee 过滤器怎样判断输入的url路径是正确的,不正确则跳转index.jsp
JSP 图片无瞎手液法显示通常是由于以下原因:
1、文件路径或文件名称的问题,这需要验证文件的路径是否正确是否区分了大小写。jsp路径也是十分特殊的,相对路径有时候是无效的,所以需要使用绝对路径,路径前使用<%=request.getContextPath() %>.
2、图片的规格有问题,验证的方式是:在文件管理器中鼠标右键图片,选择打开方式IE,看是否能打开,能正常打开的图片就没薯老有问题。
3、显示图片的代码写的不对。这里只能看到提问,看不到详细,猜测可能会有这样的错误,或者是调用标签方式不正确,html有两种调用图片的方式,一种是图片标签直接做展示,另一种则是通过背景的形式展现,如下:
<img src="imagePath" />
<xxx style="background:url(imagePath);"></xxx>
<xxx style="background-image:imagePath;"></xxx>
4、被覆盖。如果图片因为被别的div或者其他html控件盖住了,就不会显示正常了,磨物可以通过IE浏览器点“F12”打开开发人员工具,在“HTML”选项卡下有个光标的图标,点击后再点击页面中药显示图片的区域,开发人员工具的面板中的代码块就自动跳到该区域对应的代码并且高亮显示,这样就可以知道是什么将图片覆盖在后面了。出现此种情况需要先看是否两个区域都正确,如果该覆盖图片的区块是被挤到这里来的,则需要重新调整此区块的位置,若是确实应该是和图片重叠显示的,则需要在图片中添加样式:z-index,数值比那个区块大即可。
⑸ Java中怎样根据文件的路径去判断该文件夹中是否存在该文件
1. 首先明确一点的是:test.txt文件可以和test文件夹同时存在同一目录下;test文件不能和test文件夹同时存在同一目录下。
原因是:
(1)win的文件和文件夹都是以节点形式存放,这就意味着相同的文件和文件名不能处在同一目录下,会命名冲突。
(2)文件后缀名也算是文件名的一部分,即test.txt文件和test文件不是相同文件名的文件。
2. 基于以上原因,如果我想在d:创建一个test文件夹,但是d:下面有一个test文件,那么由于命名冲突,是不可能创建成功的。
所以,在创建之前,要通过file.exists()判断是否存在test命名的文件或者文件夹,如果返回true,是不能创建的;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
File file = new File("d:\test_file.txt");
Main.judeFileExists(file);
File dir = new File("d:\test_dir");
Main.judeDirExists(dir);
}// 判断文件是否存在
public static void judeFileExists(File file) {
if (file.exists()) {
System.out.println("file exists");
} else {
System.out.println("file not exists, create it ...");
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} // 判断文件夹是否存在
public static void judeDirExists(File file) {
if (file.exists()) {
if (file.isDirectory()) {
System.out.println("dir exists");
} else {
System.out.println("the same name file exists, can not create dir");
} }
else { System.out.println("dir not exists, create it ...");
file.mkdir();
}
}
}
然后再通过file.isDirectory()来判断这是不是一个文件夹。
⑹ Java语言用正则表达式判断文件目录合法性
functiontestPath(){
varpath=/^[a-zA-Z]:[\]((?!)(?![^\/]*s+[\/])[w-]+[\/])*(?!)(?![^.]*s+.)[w-]+$/;
varbackuppath=document.getElementById("xxx");
if(path.test(backuppath)){
returntrue;
}else{
alert("请填写正确路径!");
returnfalse;
}
returntrue;
}
String format ="/^[a-zA-Z]:[\]((?!)(?![^\/]*s+[\/])[w-]+[\/])*(?!)(?![^.]*s+.)[w-]+$/";
⑺ java用正则表达式判断文件路径格式是否正确。
//"^[A-z]:\\(.+?\\)*$"不能确定深度匹配0到多次就可以了
Stringsource="z:\java\kl\$kls\";
System.out.println(source.matches("^[A-z]:\\(.+?\\)*$"));
⑻ java如何判断文件路径
package jixutest;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.DateFormat;
import java.util.Date;
public class TestERead extends Frame implements ActionListener,ItemListener{
private List list;//用于显示文件列表
private TextField details;//用于显示选中的文件(夹)详细情况
private Panel buttons;//用于放置两个button
private Button up,close;
private File currentDir;
private FilenameFilter filter;//文件筛选器
private String[] files;//放置文件(夹)名的数组
private DateFormat dateFormatter=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);//日期格式化,注意getDateTimeInstance有两个念前颤参数,分别表示日期和时间
/*
* 说明:
* DateFormat shortDateFormat =DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
* DateFormat mediumDateFormat =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
* DateFormat longDateFormat =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
* DateFormat fullDateFormat =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
* 对应的日期时间格式分别如下:
* 9/29/01 8:44 PM
* Sep 29, 2001 8:44:45 PM
* September 29, 2001 8:44:45 PM EDT
* Saturday, September 29, 2001 8:44:45 PM EDT
* */
public TestERead(String directory,FilenameFilter filter){
super("File Lister");//窗口标题
this.filter=filter;//文件筛选器
addWindowListener(new WindowAdapter(){//关闭窗口
public void windowClosing(WindowEvent e){
dispose();
}
});
list=new List(12,false);//一个12行的list表单
list.setFont(new Font("MonoSpaced",Font.PLAIN,14));//设置字体
list.addActionListener(this);//捕捉双击鼠标的行为
list.addItemListener(this);//捕捉悔悔单击鼠标的行为(选仔败中项)
details=new TextField();//显示文件详情
details.setFont(new Font("MonoSpaced",Font.PLAIN,12));
details.setEditable(false);//readonly
buttons=new Panel();
buttons.setLayout(new FlowLayout(FlowLayout.RIGHT,15,15));//靠右排列项,间距15 15
buttons.setFont(new Font("SansSerif",Font.BOLD,14));
up=new Button("上一级目录");
close=new Button("关闭");
up.addActionListener(this);
close.addActionListener(this);
buttons.add(up);
buttons.add(close);
this.add(list,"Center");
this.add(details,"North");
this.add(buttons,"South");
this.setSize(500,300);
listDirectory(directory);//列出指定目录
}
public void listDirectory(String directory){//此方法作用是列出文件,并不涉及文件的操作
File dir=new File(directory);//创建文件(目录)对象
if(!dir.isDirectory()){
throw new IllegalArgumentException("FileLister:no such directory");
}
files=dir.list(filter);//列出文件并用filter筛选
java.util.Arrays.sort(files);//排序文件
list.removeAll();//清除此前列出的文件列表
list.add("上一级目录");
for(int i=0;i<files.length;i++)
list.add(files[i]);//将文件加入到列表框
this.setTitle(directory);
details.setText(directory);
currentDir=dir;
}
public void itemStateChanged(ItemEvent e){ //选中项(单击)的相应行为,并不涉及双击项目
int i=list.getSelectedIndex()-1;//因为我们在列表中的第一项是“上一级目录”,因此列表的selectedindex要比files的index大一,而我们要获取files的index,就要相应减去1
if(i<0)
return;
String filename=files[i];
File f=new File(currentDir,filename);
if(!f.exists())
throw new IllegalArgumentException("FileLister:no such file or directory");
String info=filename;
if(f.isDirectory())
info+=File.separator;//如果是目录就在后面增加一个分隔符,windows下是“\”,Linux下是“/”
info+=" "+f.length()+ " bytes ";
info +=dateFormatter.format(new java.util.Date(f.lastModified()));
if(f.canRead()) info+=" Read";
if(f.canWrite()) info+=" Write";
details.setText(info);
}
public void actionPerformed(ActionEvent e){//双击项目、单击button的行为定义,由此我们也发现,对于列表的双击和对按钮的单击都属于ActionEvent
if(e.getSource()==close) this.dispose();//按钮close的行为定义
else if(e.getSource()==up) {up();}//按钮up的行为定义
else if(e.getSource()==list) {
int i=list.getSelectedIndex();
if(i==0) up();//如果selectedindex为0,即第一项,就是“上一级目录”那一项,就调用up()方法
else{
String name=files[i-1];
File f=new File(currentDir,name);
String fullname=f.getAbsolutePath();//取得文件(目录)的绝对路径
if(f.isDirectory()) listDirectory(fullname);//如果是目录,则列出
// else new FileViewer(fullname).setVisible(true);//否则创建一个FileViewer类,即要弹出我们昨天所写的FileViewer窗口来读取文件的内容
}
}}
protected void up(){//列出父目录
String parent=currentDir.getParent();
if(parent==null) return;
listDirectory(parent);//一个递归
}
public static void usage(){
System.out.println("Usage: java FileLister [directory_name] "+"[-e file_extension]");
System.exit(0);
}
public static void main(String args[]) throws IOException{
TestERead f;
FilenameFilter filter=null;
String directory=null;
for(int i=0;i<args.length;i++){
if(args[i].equals("-e")){
if(++i>args.length) usage();
final String suffix=args[i];//文件扩展名(-e后接着的输入参数,因为前面已经有++i)
filter=new FilenameFilter(){//筛选器filter要实现FilenameFliter接口
public boolean accept(File dir,String name){
/*Tests if a specified file should be included in a file list.
* dir - the directory in which the file was found.
* name - the name of the file.
* 就是说,如果文件的扩展名跟我们输入的一致,则返回true
* 否则判断文件是否为一个目录,如果是一个目录,那么也返回
* 而其他不符合我们输入的文件,则不列出
*/
if(name.endsWith(suffix)) return true;
else return (new File(dir,name)).isDirectory();
}
};
}
else {
if(directory!=null) usage();//我们初始化的目录是null的,如果非null,表明程序有问题,退出
else directory=args[i];//否则将-e前一个参数赋给directory
}
}
if(directory==null) directory=System.getProperty("user.dir");//如果没有输入目录参数,那么就用用户当前目录
f=new TestERead(directory,filter);//创建一个FileLister,这里有两个参数,一个是目录,一个是筛选器,这个筛选器就是我们刚才创建的那个,注意这个类中我们并没有在main方法之外单独创建一个筛选器方法
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.setVisible(true);
}
}
⑼ 如何调整java安全级别
要在 Internet Explorer 中配置 Java 安全性,请执行以下操作:
启动 Internet Explorer,然后单击工具菜单上的 Internet 选项。
在 Internet 选项对话框中,单击安全选项卡。
“安全”页上有四个安全区域:
选择要更改其 Java 安全性设置的区域。
Internet
本地 Intranet
受信任的站点
受限制的站点
在该区域的安全级别下,单击自定义级别。在 Internet Explorer 4.x 版本中,单击自定义级别,然后单击设置。
查看 Microsoft VM 部分(Internet Explorer 4.x 中的 Java 部分)。
在 Microsoft VM 下的“Java 权限”列表中,单击自定义。
单击 Java 自定义设置。
单击查看权限选项卡可查看当前的 Java 权限。Java 权限分为三种主要类别:
赋予未签名内容的权限
请求这些权限的未签名 Java 小程序无须发出用户提示便可运行。
允许已签名内容的权限
请求这些权限的已签名 Java 小程序无须发出用户提示便可运行。
拒绝已签名内容的权限
这些权限拒绝已签名的 Java 小程序。
单击编辑权限选项卡。选择需要用于准确控制该区域 Java 权限的选项。如果不想保留已做出的设置,可以单击重置按钮将权限重置为:
保存的权限
高安全级
中安全级
低安全级
单击确定,然后再次单击确定。
⑽ 文件路径安全性:getPath(),getAbsolutePath(),getCanonicalPath()
java.io.File 类提供3个档笑禅行尘方法用于获取文件路径升饥: getPath() , getAbsolutePath() , getCanonicalPath() ,这3个方法间的区别可参考以下示例:
运行结果:
Java API: