packagecom.gatsby.filepath;importandroid.os.Bundle;importandroid.os.Environment;importandroid.util.Log;importandroidx.appcompat.app.AppCompatActivity;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.util.ArrayList;importjava.util.List;public class MainActivity extendsAppCompatActivity {
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//内置Sdcard /mnt/internal_sd
String internalPath =Environment.getExternalStorageDirectory().toString();
Log.d("gatsby", "path0->" +internalPath);//U盘挂载路径 /mnt/usb_storage/USB_DISK2/udisk0
String usbPath =searchPath();
Log.d("gatsby", "path2->" +usbPath);
}publicString searchPath() {
String filePath= "/proc/mounts";
File file= newFile(filePath);
List lineList = new ArrayList<>();
InputStream inputStream= null;try{
inputStream= newFileInputStream(file);if (inputStream != null) {
InputStreamReader inputStreamReader= new InputStreamReader(inputStream, "GBK");
BufferedReader bufferedReader= newBufferedReader(inputStreamReader);
String line= "";while ((line = bufferedReader.readLine()) != null) {if (line.contains("vfat")) {
lineList.add(line);
}
}
}
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}finally{if (inputStream != null) {try{
inputStream.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
String editPath= lineList.get(lineList.size() - 1);int start = editPath.indexOf("/mnt");int end = editPath.indexOf(" vfat");
String path=editPath.substring(start, end);returnpath;
}
}