java编写的文件管理器代码分享
比较适合新手。逻辑上仍然有点问题。可以用于学习java文件操作
下载地址:http://yun.baidu.com/share/link?shareid=4184742416&uk=1312160419
下面是主要的JAVA文件操作代码
FileHelp.java
package self.yy.filesystem.fileutil; import android.content.Context; import android.util.Log; import android.widget.Toast; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.URI; import java.nio.channels.FileChannel; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; /** * 文件的相关帮助类 */ public class FileHelp { private static final String TAG = "FileHelp"; public static final String JPG = ".jpg"; public static final String PNG = ".png"; public static final String MP3 = ".mp3"; public static final String MP4 = ".mp4"; public static final String APK = ".apk"; //上下文 private static Context context; /** * txt文本 */ public static int ISTXT = 0; private static String TXT = ".txt"; /** * 文件删除 */ public static boolean deletfile(File file) { if (file.isDirectory()) { if (file.listFiles().length > 0) { for (File i : file.listFiles()) { deletfile(i); } } else { file.delete(); } } else { file.delete(); } file.delete(); return true; } /** * 新建文件夹 * 返回true 文件创建成功 * 返回false 文件创建失败 ->文件存在 * 返回true 文件创建成功,返回false 文件创建失败 (文件存在、权限不够) */ public static boolean creatFile(String filename, String path) { File file = new File(path + File.separator + filename); if (file.exists()) { return false; } else { file.mkdir(); return true; } } /** * 创建自定义文件类型文件 * 随意为文件夹 * 0 txt文本 * * @return boolean * 返回true 文件创建成功,返回false 文件创建失败 (文件存在、权限不够) * * */ public static boolean creatFile(String filename, String path, int type) { String ptr = path + File.separator + filename; File file; switch (type) { case 0: file = new File(ptr + TXT); break; default: file = new File(ptr); break; } if (file.exists()) { return false; } else { try { file.createNewFile(); return true; } catch (IOException e) { return false; } } } /** * 文件重名 * * @param name 新创建的文件名 * @param file 创建文件的地方 */ public static boolean reName(String name, File file) { String pathStr = file.getParent() + File.separator + name; return file.renameTo(new File(pathStr)); } /** * 文件复制 * * @param oldFile 要被复制的文件 * @param toNewPath 复制到的地方 * @return boolean trun 复制成功,false 复制失败 * * */ public static boolean copeyFile(File oldFile, String toNewPath) { String newfilepath = toNewPath + File.separator + oldFile.getName(); File temp = new File(newfilepath); //判断复制到的文件路径是否存在相对文件,如果存在,停止该操作 if (temp.exists()) { return false; } //判断复制的文件类型是否是文件夹 if (oldFile.isDirectory()) { temp.mkdir(); for (File i : oldFile.listFiles()) { copeyFile(i, temp.getPath()); } } else { //如果是文件,则进行管道复制 try { //从文件流中创建管道 FileInputStream fis = new FileInputStream(oldFile); FileChannel creatChannel = fis.getChannel(); //在文件输出目标创建管道 FileOutputStream fos = new FileOutputStream(newfilepath); FileChannel getChannel = fos.getChannel(); //进行文件复制(管道对接) getChannel.transferFrom(creatChannel, 0, creatChannel.size()); getChannel.close(); creatChannel.close(); fos.flush(); fos.close(); fis.close(); } catch (Exception e) { Log.i(TAG, "copey defeated,mebey file was existed"); e.printStackTrace(); return false; } } return true; } /** * 文件剪切 * * @param oldFile 要被剪切的文件 * @param newFilePath 剪切到的地方 * @return boolean trun 剪切成功,false 剪切失败 */ public static boolean cutFile(File oldFile, String newFilePath) { if (copeyFile(oldFile, newFilePath)) { oldFile.delete(); return true; } else { return false; } } /** * 获取对应文件类型的问件集 * * @param dir 文件夹 * @param type 文件类型,格式".xxx" * @return List<file> 文件集合 */ public static List<File> getTheTypeFile(File dir, String type) { List<File> files = new ArrayList<File>(); for (File i : dir.listFiles()) { String filesTyepe = getFileType(i); if (type.equals(filesTyepe)) { files.add(i); } } return files; } /** * 获取文件类型 * * @param file 需要验证的文件 * @return String 文件类型 * 如: * 传入文件名为“test.txt”的文件 * 返回 .txt * * */ public static String getFileType(File file) { String fileName = file.getName(); if (fileName.contains(".")) { String fileType = fileName.substring(fileName.lastIndexOf("."), fileName.length()); return fileType; } else { return null; } } /** * 获取文件最后操作时间类 * * @param file 需要查询的文件类 * @return “yy/MM/dd HH:mm:ss”的数据字符串 * 如: * 14/07/01 01:02:03 */ public static String getCreatTime(File file) { long time = file.lastModified(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat("yy/MM/dd HH:mm:ss"); String date = dateFormat.format(calendar.getTime()); return date; } }
以上所述就是本文的全部内容了,希望能够对大家学习java有所帮助。
更多java编写的文件管理器代码分享相关文章请关注PHP中文网!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini menganalisis empat kerangka JavaScript teratas (React, Angular, Vue, Svelte) pada tahun 2025, membandingkan prestasi, skalabilitas, dan prospek masa depan mereka. Walaupun semuanya kekal dominan kerana komuniti dan ekosistem yang kuat, popul mereka yang relatif

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini menangani kelemahan CVE-2022-1471 dalam Snakeyaml, kecacatan kritikal yang membolehkan pelaksanaan kod jauh. Ia memperincikan bagaimana peningkatan aplikasi boot musim bunga ke snakeyaml 1.33 atau lebih lama mengurangkan risiko ini, menekankan bahawa kemas kini ketergantungan

Node.js 20 dengan ketara meningkatkan prestasi melalui penambahbaikan enjin V8, terutamanya pengumpulan sampah yang lebih cepat dan I/O. Ciri -ciri baru termasuk sokongan webassembly yang lebih baik dan alat penyahpepijatan halus, meningkatkan produktiviti pemaju dan kelajuan aplikasi.

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Iceberg, format meja terbuka untuk dataset analitik yang besar, meningkatkan prestasi data dan skalabiliti. Ia menangani batasan parket/orc melalui pengurusan metadata dalaman, membolehkan evolusi skema yang cekap, perjalanan masa, serentak w

Artikel ini meneroka mengintegrasikan pengaturcaraan berfungsi ke dalam Java menggunakan ekspresi Lambda, API Streams, rujukan kaedah, dan pilihan. Ia menyoroti faedah seperti kebolehbacaan dan kebolehkerjaan kod yang lebih baik melalui kesimpulan dan kebolehubahan

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.
