精华内容
下载资源
问答
  • 主要介绍了Python 如何测试文件是否存在,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • java-测试文件是否存在我正在尝试像这样在android中打开文件:try{FileInputStream fIn = context.openFileInput(FILE);DataInputStream in = new DataInputStream(fIn);BufferedReader br = new BufferedReader(new...

    java-测试文件是否存在

    我正在尝试像这样在android中打开文件:

    try

    {

    FileInputStream fIn = context.openFileInput(FILE);

    DataInputStream in = new DataInputStream(fIn);

    BufferedReader br = new BufferedReader(new InputStreamReader(in));

    if(in!=null)

    in.close();

    }

    catch(Exception e)

    { }

    但是,如果文件不存在,则会引发“找不到文件”异常。 我想知道在尝试打开文件之前如何测试文件是否存在。

    rantravee asked 2020-02-17T07:05:30Z

    7个解决方案

    161 votes

    我认为,在不实际尝试打开文件的情况下,了解文件是否存在的最佳方法如下:

    File file = getContext().getFileStreamPath(FILE_NAME);

    if(file.exists()) ...

    希望能有所帮助,再见!

    lencinhaus answered 2020-02-17T07:05:50Z

    26 votes

    该文档说Context.openFileInput返回一个inputStream(找到文件)或抛出FileNotFoundException(找不到)

    [http://developer.android.com/reference/android/content/Context.html#openFileInput(java.lang.String)]

    因此,看起来您的“测试”是个例外。

    您也可以尝试使用标准

    java.io.File file = new java.io.File(PATHTOYOURCONTEXT , FILE);

    if (file.exists()) {

    FileInputStream fIn = new FileInputStream(file);

    }

    但是不建议这样做。 Context.openFileInput()和Context.openFileOutput()确保您停留在设备上的应用程序存储上下文中,并且所有文件都卸载您的应用后删除。

    rompetroll answered 2020-02-17T07:06:28Z

    5 votes

    使用标准2751220222735635680512,这是我创建的功能,并且可以正常运行:

    private static final String APP_SD_PATH = "/Android/data/com.pkg.myPackage";

    ...

    public boolean fileExistsInSD(String sFileName){

    String sFolder = Environment.getExternalStorageDirectory().toString() +

    APP_SD_PATH + "/Myfolder";

    String sFile=sFolder+"/"+sFileName;

    java.io.File file = new java.io.File(sFile);

    return file.exists();

    }

    molbalga answered 2020-02-17T07:06:49Z

    2 votes

    为什么不捕获FileNotFound异常,并把它当作不存在的文件。

    Prashast answered 2020-02-17T07:07:09Z

    1 votes

    如果要确保文件存在(即如果不存在,请创建一个新文件,如果不存在则不要删除它),然后使用File.createNewFile:

    [https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createNewFile()]

    例如

    {

    String pathName =

    File file = new File (pathName);

    Uri pathURI = Uri.fromFile (file);

    boolean created;

    String mIOException = "";

    String mSecException = "";

    try

    {

    created = file.createNewFile();

    if (created)

    {

    ctxt.sendBroadcast (new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, pathURI));

    }

    }

    catch (IOException ioex)

    {

    mIOException = ioex.getMessage();

    }

    catch (SecurityException sex)

    {

    mSecException = sex.getMessage();

    }

    }

    Den-Jason answered 2020-02-17T07:07:37Z

    0 votes

    如果您想在任何情况下打开文件(即,如果该文件不存在,请创建一个新文件,如果确实将其添加到旧文件中),则可以使用此文件,无需进行任何测试:

    public static void write_custom_log(String message){

    File root = Environment.getExternalStorageDirectory();

    try{

    BufferedWriter fw = new BufferedWriter(new FileWriter(new File("/mnt/sdcard/tjb_tests/tjb_log_file.txt"),true));

    if (root.canWrite()){

    fw.write(message);

    fw.close();

    }

    } catch (IOException e) {

    Log.e("One", "Could not write file " + e.getMessage());

    }

    }

    tjb answered 2020-02-17T07:07:57Z

    -2 votes

    我的建议是检查文件的长度。 if file.length() returns 0,这表示文件不存在。

    Sameer Chorge answered 2020-02-17T07:08:18Z

    展开全文
  • 测试文件是否存在 问题 你想测试一个文件或目录是否存在。 解决方案 使用os.path模块来测试一个文件或目录是否存在。比如: >>> import os >>> os.path.exists('/etc/passwd') True >>...

    测试文件是否存在

    问题

    你想测试一个文件或目录是否存在。

    解决方案

    使用 os.path 模块来测试一个文件或目录是否存在。比如:

    >>> import os
    >>> os.path.exists('/etc/passwd')
    True
    >>> os.path.exists('/tmp/spam')
    False
    >>>

    你还能进一步测试这个文件时什么类型的。 在下面这些测试中,如果测试的文件不存在的时候,结果都会返回False:

    >>> # Is a regular file
    >>> os.path.isfile('/etc/passwd')
    True
    
    >>> # Is a directory
    >>> os.path.isdir('/etc/passwd')
    False
    
    >>> # Is a symbolic link
    >>> os.path.islink('/usr/local/bin/python3')
    True
    
    >>> # Get the file linked to
    >>> os.path.realpath('/usr/local/bin/python3')
    '/usr/local/bin/python3.3'
    >>>

    如果你还想获取元数据(比如文件大小或者是修改日期),也可以使用 os.path 模块来解决:

    >>> os.path.getsize('/etc/passwd')
    3669
    >>> os.path.getmtime('/etc/passwd')
    1272478234.0
    >>> import time
    >>> time.ctime(os.path.getmtime('/etc/passwd'))
    'Wed Apr 28 13:10:34 2010'
    >>>

    讨论

    使用 os.path 来进行文件测试是很简单的。 在写这些脚本时,可能唯一需要注意的就是你需要考虑文件权限的问题,特别是在获取元数据时候。比如:

    >>> os.path.getsize('/Users/guido/Desktop/foo.txt')
    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "/usr/local/lib/python3.3/genericpath.py", line 49, in getsize
            return os.stat(filename).st_size
    PermissionError: [Errno 13] Permission denied: '/Users/guido/Desktop/foo.txt'
    >>>

     

    展开全文
  • 厌倦了执行xargs -I {} sh -c "[ -e \"{}\" ] && echo \"{}\""以在尝试编写脚本时检查文件是否存在。 它从标准输入接收路径,并打印任何存在的路径; 适用于文件,目录和链接。 安装 git clone ...
  • 测试文件是否存在 问题 你想测试一个文件或目录是否存在。 解法 使用 os.path 模块来测试一个文件或目录是否存在。比如: >>> import os >>> os.path.exists('/etc/passwd') True >>> os...

    测试文件是否存在

    问题

    你想测试一个文件或目录是否存在。

    解法

    使用 os.path 模块来测试一个文件或目录是否存在。比如:

    >>> import os
    >>> os.path.exists('/etc/passwd')
    True
    >>> os.path.exists('/tmp/spam')
    False
    >>>
    

    你还能进一步测试这个文件时什么类型的。在下面这些测试中,如果测试的文件不存在的时候,结果都会返回 False:

    >>> # Is a regular file
    >>> os.path.isfile('/etc/passwd')
    True
    
    >>> # Is a directory
    >>> os.path.isdir('/etc/passwd')
    False
    
    >>> # Is a symbolic link
    >>> os.path.islink('/usr/local/bin/python3')
    True
    
    >>> # Get the file linked to
    >>> os.path.realpath('/usr/local/bin/python3')
    '/usr/local/bin/python3.3'
    >>>
    

    如果你还想获取元数据 (比如文件大小或者是修改日期),也可以使用 os.path 模块来解决:

    >>> os.path.getsize('/etc/passwd')
    3669
    >>> os.path.getmtime('/etc/passwd')
    1272478234.0
    >>> import time
    >>> time.ctime(os.path.getmtime('/etc/passwd'))
    'Wed Apr 28 13:10:34 2010'
    >>>
    

    讨论

    使用 os.path 来进行文件测试是很简单的。在写这些脚本时,可能唯一需要注意的就是你需要考虑文件权限的问题,特别是在获取元数据时候。比如:

    >>> os.path.getsize('/Users/guido/Desktop/foo.txt')
    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "/usr/local/lib/python3.3/genericpath.py", line 49, in getsize
            return os.stat(filename).st_size
    PermissionError: [Errno 13] Permission denied: '/Users/guido/Desktop/foo.txt'
    >>>
    
    展开全文
  • 你想测试一个文件或目录是否存在。解决方案使用 os.path 模块来测试一个文件或目录是否存在。比如:>>> import os>>> os.path.exists('/etc/passwd')True>>> os.path.exists('/tmp/spam'...

    你想测试一个文件或目录是否存在。

    解决方案

    使用 os.path 模块来测试一个文件或目录是否存在。比如:

    >>> import os

    >>> os.path.exists('/etc/passwd')

    True

    >>> os.path.exists('/tmp/spam')

    False

    >>>

    你还能进一步测试这个文件时什么类型的。 在下面这些测试中,如果测试的文件不存在的时候,结果都会返回False:

    >>> # Is a regular file

    >>> os.path.isfile('/etc/passwd')

    True

    >>> # Is a directory

    >>> os.path.isdir('/etc/passwd')

    False

    >>> # Is a symbolic link

    >>> os.path.islink('/usr/local/bin/python3')

    True

    >>> # Get the file linked to

    >>> os.path.realpath('/usr/local/bin/python3')

    '/usr/local/bin/python3.3'

    >>>

    如果你还想获取元数据(比如文件大小或者是修改日期),也可以使用 os.path 模块来解决:

    >>> os.path.getsize('/etc/passwd')

    3669

    >>> os.path.getmtime('/etc/passwd')

    1272478234.0

    >>> import time

    >>> time.ctime(os.path.getmtime('/etc/passwd'))

    'Wed Apr 28 13:10:34 2010'

    >>>

    讨论

    使用 os.path 来进行文件测试是很简单的。 在写这些脚本时,可能唯一需要注意的就是你需要考虑文件权限的问题,特别是在获取元数据时候。比如:

    >>> os.path.getsize('/Users/guido/Desktop/foo.txt')

    Traceback (most recent call last):

    File "", line 1, in

    File "/usr/local/lib/python3.3/genericpath.py", line 49, in getsize

    return os.stat(filename).st_size

    PermissionError: [Errno 13] Permission denied: '/Users/guido/Desktop/foo.txt'

    >>>

    以上就是Python 如何测试文件是否存在的详细内容,更多关于Python 测试文件的资料请关注其它相关文章!

    展开全文
  • Shell脚本 1. 基本的几个变量 使用$?获取最近一次的执行结果;...场景:在某个目录查找是否包含某个文件 一般使用双引号("")将变量括起来。将多个变量化为一个字符串,否则测试时可能会有warning ###########...
  • linux测试文件是否存在命令集合

    千次阅读 2016-05-29 22:07:16
    -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE
  • 在Linux中写脚本的时候,总免不了需要判断文件是否存在、文件内容是否为空等存在,而这些操作都可以用test 指令来实现,通过 man test 指令可以查看关于test指令的手册,手册中有如下说明:  -s FILE  FILE...
  • 参考链接:...下载文件:wget ‘filepath’ 注意filepath需要使用’'包起来, 否则容易产生下载失败403错误, 原因是字符问题 filepath的来源oss文件url...
  • <p>Using the following code, I am able to display up to 10 images. What I want is to be able to display all images in the folder without going through an infinite loop and without testing if the ...
  • golang 文件是否存在How to test a path (a file or directory exists) in golang? 如何在golang中测试路径(文件或目录存在)? In Bash, the [ -e ] tests can test whether a file or a directory exist. ...
  • 测试文件是否存在 解决方案 使用 os.path 模块来测试一个文件或目录是否存在。比如: import os print(os.path.exists('/Users/xz/test')) True print(os.path.exists('/Users/xz/test/cookbook')) ...
  • ----测试一个文件或目录是否存在 >>> import os >>> os.path.exists('/etc/passwd') True >>> os.path.exists('/tmp/spam') False >>> ----测试这个文件时什么...
  • java中可以使用file.exists()方法来检测文件是否存在,public boolean exists()测试此抽象路径名表示的文件或目录是否存在。java判断文件是否存在的方法:public static void main(String[] args) {File file = new ...
  • 用access函数 access的第一个参数是文件路径,第二个参数是测试的模式。常用的有R_OK:测试读权限,W_OK:测试写权限,X_OK:测试执行权限,F_OK:测试文件是否存在;
  • 检查文件是否存在于远程服务器上

    千次阅读 2017-05-16 11:45:23
    在有些情况下,你要测试文件是否存在于远程Linux服务器的某个目录下(例如:/var/run/test_daemon.pid),而无需登录到远程服务器进行交互。例如,你可能希望你的脚本根据特定文件是否存在的远程服务器上而由不同的...
  • In Bash, the [ -f ] and [ -d ] tests can test whether a file or a directory exist. What are the ... 在Bash中, [ -f ]和[ -d ]测试可以测试文件或目录是否存在。 这些测试对应的python方法是什么? ...
  • I have a file that contains directory names: 我有一个包含目录名称的文件: my_list.txt : my_list.txt : /tmp /va
  • F_OK 测试文件是否存在 R_OK 测试读权限 W_OK 测试写权限 X_OK 测试执行权 2 目录存在 opendir函数用来打开文件目录,成功返回指针,出错返回NULL #include <iostream> #include <unistd.h>...
  • BOOL COJServerDlg::FileExit(char* szfile) { string fileName = szfile; CString appPath = GetAppPath(); string seperator = "\\";...string fullPath = appPath.GetBuffer(0) +seperator+fileName;...
  • 1.文件测试表达式的用法我们在编程时处理一个对象时,需要对对象进行测试,只有符合要求的才采取操作处理;这样做的好处是避免程序出错以及无所畏的消耗系统资源,这个测试的对象可以是文件、字符串、数字等。下表为...
  • W_OK可写 X_OK可执行 F_OK是否存在 10 */ 11 if (ret == 0 ) 12 return true ; 13 return false ; 14 } 15 bool IsRegFile( const char * file_name) 16 { 17 struct stat s; 18 if ...
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。...
  • // 一次读入一行,直到读入null为文件结束 while ((tempString = reader.readLine())!= null) { sb.append(tempString+"\r\n"); } reader.close(); df = new SimpleDateFormat("yyyy-MM-dd HH:...
  • 大多数情况下,可以使用测试命令来对条件进行...比如可以比较字符串、判断文件是否存在及是否可读等等。下面这篇文章就主要介绍了使用Bash Shell检查文件是否存在的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
  • Linux检查文件是否存在

    万次阅读 2018-04-29 02:10:06
    2. 用bash shell检查假设我们有文件目录/home/benben/go_project和文件/home/benben/go_project/test.txt,下面我们用bash shell命令来检测下这个目录和文件是否存在。 检查目录,执行命令[-d /home/benben/go_...
  • c# 写文件时 目录不存在 How to test a path (a ... 如何在C ++中测试路径(文件或目录存在)? In Bash, the [ -f ] and [ -d ] tests can test whether a file or a directory exist. What are the corre...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,256
精华内容 902
关键字:

测试文件是否存在