讀取中文名的檔案,並複製到指定目錄

2021-07-13 06:11:03 字數 995 閱讀 2843

需求:

專案中,需要從手機上選擇檔案,複製到專案的資料夾下

原方案:

/** 呼叫檔案選擇軟體來選擇檔案 **/

private void showfilechooser() catch (android.content.activitynotfoundexception ex)

}

@override

protected void onactivityresult(int requestcode, int resultcode, intent data)

}}

copyfile方法

/**

* 複製檔案到指定目錄,可以作為工具方法

* * @param oldpath

* 需要複製的檔案

* @param newpath

* 新檔案路徑,目錄必須是存在的

*/public static void copyfile(string oldpath, string newpath)

instream.close();

} else

} catch (exception e)

}

輸出:

到這裡,沒什麼問題了,但是我發現去複製帶中文名的檔案時,file.exists()=null;

輸出:發現中文進行了編碼

查詢資料,linux下面的編碼方式為utf-8,而android的核心為linux,

uri.decode()---使用了utf-8的編碼

string uri1 = data.getdatastring();
換成string uri1= uri.decode(data.getdatastring());

後面的不變就可以了

輸出:到此就解決了

thinkphp上傳讀取帶中文名的excel

windows phpstudy環境下進行開發 一 使用thinkphp 3.2.3的upload上傳檔案,帶中文名的檔案儲存到後台後是亂碼,解決方法 thinkphp library think upload driver local.class.php 82行 if move uploaded ...

pandas中讀取中文名稱的csv檔案報錯問題

之前在使用pandas處理csv檔案時,發現如果檔名為中文,則會報錯 oserror initializing from file failed後來在一位博主的部落格中解釋了是read csv中engine引數的問題,預設是c engine,在讀取中文標題時有可能會出錯 在我這是必現 解決方法是將e...

解決Python2操作中文名檔案亂碼的問題

python2預設是不支援中文的,一般我們在程式的開頭加上 coding utf 8 來解決這個問題,但是在我用open 方法開啟檔案時,中文名字卻顯示成了亂碼。我先給大家說說python中的編碼問題,python中的字串的大概分為為str和unicode兩種形式,其中str常用的編碼型別為utf ...