文件工具类---(整理)

  1 import java.io.File;

  2 import java.io.FileOutputStream;

  3 import java.io.IOException;

  4 import java.io.InputStream;

  5 import java.io.OutputStream;

  6 import java.util.ArrayList;

  7 import java.util.List;

  8 

  9 import android.os.Environment;

 10 

 11 import com.androidmediaplayer.model.Mp3Info;

 12 

 13 public class FileUtil {

 14 

 15     /**

 16      * 得到当前外部存储设备的目录

 17      */

 18     private static String SDCardRoot = Environment

 19             .getExternalStorageDirectory().getAbsolutePath() + File.separator;

 20 

 21     /**

 22      * 在SD卡上创建文件

 23      * 

 24      * @throws IOException

 25      */

 26     public static File createFileInSDCard(String fileName, String dir)

 27             throws IOException {

 28         if (isFileExist(fileName, dir)) {

 29             deleteFile(dir, fileName);

 30         }

 31         File file = new File(SDCardRoot + dir + File.separator + fileName);

 32         file.createNewFile();

 33         return file;

 34     }

 35 

 36     /**

 37      * 在SD卡上创建目录

 38      * 

 39      * @param dirName

 40      */

 41     public static File creatSDDir(String dir) {

 42         File dirFile = new File(SDCardRoot + dir + File.separator);

 43         dirFile.mkdirs();

 44         return dirFile;

 45     }

 46 

 47     /**

 48      * 删除SD卡上的文件

 49      * 

 50      * @param dir

 51      *            文件夹目录(已包含根目录)

 52      * @param fileName

 53      *            文件名

 54      * @return

 55      * @throws IOException

 56      */

 57     public static boolean deleteFile(String dir, String fileName)

 58             throws IOException {

 59         File dirFile = new File(SDCardRoot + dir + File.separator + fileName);

 60         return dirFile.delete();

 61     }

 62 

 63     /**

 64      * 删除_data路径的文件

 65      * 

 66      * @param _data

 67      * @return

 68      */

 69     public static boolean deleteAnotherFile(String _data) throws IOException {

 70         File dirFile = new File(_data);

 71         return dirFile.delete();

 72     }

 73 

 74     /**

 75      * 判断SD卡上的文件是否存在

 76      */

 77     public static boolean isFileExist(String fileName, String path) {

 78         File file = new File(SDCardRoot + path + File.separator + fileName);

 79         return file.exists();

 80     }

 81 

 82     public static boolean _isFileExist(String fileName) {

 83         File file = new File(SDCardRoot + "mp3" + File.separator + fileName);

 84         return file.exists();

 85     }

 86     

 87     /**

 88      * 

 89      * @param path 路径加文件名加后缀

 90      * @return

 91      */

 92     public static boolean _isFileExist2(String path){

 93         File file = new File(path);

 94         return file.exists();

 95     }

 96 

 97     /**

 98      * 判断SD卡上的文件夹是否存在

 99      */

100     public static boolean isFilePathExist(String path) {

101         File file = new File(SDCardRoot + path);

102         return file.exists();

103     }

104 

105     public static String getFilePath(String fileName) {

106         return SDCardRoot + "mp3" + File.separator + fileName;

107     }

108 

109     public static void updateFileName(File file, String finalFileName) {

110         String path = file.getAbsolutePath();

111         String orgFileName = path.substring(0, path.lastIndexOf("/") + 1)

112                 + finalFileName;

113         file.renameTo(new File(orgFileName));

114     }

115 

116     /**

117      * 将一个InputStream里面的数据写入到SD卡中

118      */

119     public static File write2SDFromInput(String path, String fileName,

120             InputStream inPutStream) {

121         File file = null;

122         OutputStream outPutStream = null;

123         try {

124             creatSDDir(path);

125             file = createFileInSDCard(fileName, path);

126             outPutStream = new FileOutputStream(file);

127             byte buffer[] = new byte[64];

128             int temp;

129             while ((temp = inPutStream.read(buffer)) != -1) {

130                 outPutStream.write(buffer, 0, temp);

131             }

132             outPutStream.flush();

133         } catch (Exception e) {

134             e.printStackTrace();

135         } finally {

136             try {

137                 if (outPutStream != null) {

138                     outPutStream.close();

139                 }

140             } catch (Exception e) {

141                 e.printStackTrace();

142             }

143         }

144         return file;

145     }

146 

147     /**

148      * 读取目录中的MP3文件的名字和大小

149      */

150     public static List<Mp3Info> getMp3Files(String path) {

151         ArrayList<Mp3Info> mp3Infos = new ArrayList<Mp3Info>();

152         File file = new File(SDCardRoot + File.separator + path);

153         File[] files = file.listFiles();

154         Mp3Info mp3Info = null;

155         int length = files.length;

156         for (int i = 0; i < length; i++) {

157             if (files[i].getName().endsWith("mp3")) {

158                 mp3Info = new Mp3Info();

159                 mp3Info.setMp3Name(files[i].getName());

160                 mp3Info.setMp3Size(String.valueOf(files[i].length()));

161                 String[] temp = mp3Info.getMp3Name().split("\\.");

162                 String lrcName = temp[0] + ".lrc";

163                 mp3Info.setLrcName(lrcName);

164                 mp3Infos.add(mp3Info);

165             }

166         }

167         return mp3Infos;

168     }

169 

170 }

你可能感兴趣的:(工具类)