把字符串中的+号变成空格,过滤需要做文件名的字符串

来源:互联网 发布:日本tv直播软件 编辑:程序博客网 时间:2024/05/01 07:47

刚开始做一个项目,文件名是在header里的,我是从请求的url里(字符串)分离出文件名的。

例如&title=Calvin+Klein+Ad+-+Saturday+Night+Live,得到的url里有这样一个字段。于是我用笨方法写了一个工具方法。

public static String getFileNameFromUrl(String url) {if (url.startsWith("https")) {String filename = "";String filenameTemp = null;// 得到title字段的索引int nameIndexTemp = url.indexOf("title=");// title字段+6是所要的标题字符串int nameIndex = nameIndexTemp + 6;// 用title字段找到下一个&所在的位置,用来判断是不是最后一个字段int nextSplit = url.indexOf("&", nameIndex);if (nextSplit == -1) {filenameTemp = url.substring(nameIndex);} else {filenameTemp = url.substring(nameIndex, nextSplit);}String[] name_arr = filenameTemp.split("\\+");for (int i = 0; i < name_arr.length; i++) {filename += name_arr[i];filename += " ";}filename = filename.substring(0, filename.length());String nameTemp = null;Uri uri = Uri.parse(filename);nameTemp = uri.getPath();return nameTemp + ".mp4";} else {URL uRL = null;try {uRL = new URL(url);} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();}String temp = uRL.getFile();String nameTemp = temp.substring(temp.lastIndexOf('/') + 1);return nameTemp;}}

后来我直接用名字做文件名,但是文件名中不能出现几种符号,于是又写了一个方法过滤不想要的符号

public String splitFileTitle(String title) {String name = "";String[] name_arr = title.split("\\/|\\\\|:|\\*|\\\"|<|>|\\|");for (int i = 0; i < name_arr.length; i++) {name = name + name_arr[i] + " ";}String result = name.substring(0, name.length() - 1);return name + ".mp4";}



0 0
原创粉丝点击