相关疑难解决方法(0)

如何按字母顺序排序而忽略区分大小写?

我有这个代码,但只适用于小写字母.我希望这可以对列表进行排序,同时忽略大写字母..

package sortarray.com;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class SortArray extends Activity {
    ArrayList<String[]> matchedFruits = new ArrayList<String[]>();
    TextView selection;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String fruits[] = new String[7];// Sorted array
        fruits[0] = "apple";
        fruits[1] = "apricot";
        fruits[2] = "banana";
        fruits[3] = "mango";
        fruits[4] = "melon";
        fruits[5] = "pineapple";
        fruits[6] = "peach";
        char currChar = fruits[0].charAt(0);// Get first char of first element

        boolean match = false;
        int len …
Run Code Online (Sandbox Code Playgroud)

java collections android

45
推荐指数
8
解决办法
9万
查看次数

Java - 获取目录中的最新文件?

有没有人有一个Java片段可以返回目录中的最新文件(或者是一个简化这种事情的库的知识)?

java filesystems file-io

40
推荐指数
4
解决办法
8万
查看次数

如何在java中按日期对目录中的文件进行排序?

我有一个方法从位于目录中的文件中读取内容.但由于功能原因,有必要从最旧的文件开始(由属性lastmodified指示)并以最新文件结束.

这是我打开和读取文件的代码:

        FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return name.matches("access_log.*");
        }
    };

    File folder = new File("/home/myfiles");
    File[] listOfFiles = folder.listFiles(filter);

    for (int i = 0; i < listOfFiles.length; i++) {
        String sFileName = listOfFiles[i].getName();
        File accessLogFile = new File(aLog.getPath(), sFileName);
        long time=accessLogFile.lastModified();
        // do something with the file
    }
Run Code Online (Sandbox Code Playgroud)

有没有人可以解决我如何按日期快速排序我的文件列表?

java sorting date file

19
推荐指数
1
解决办法
4万
查看次数

获取按上次修改排序的目录中的文件?

在带有新I/O API的Java 7中,是否有一种简单的方法可以按上次修改日期列出目录的内容?基本上我只需要获取最长时间未修改的文件(按上次修改升序排序,取第一个文件名).

java java-7

17
推荐指数
2
解决办法
2万
查看次数

按巨大文件ArrayList的日期快速排序

我在Java中有一个带有大量文件的ArrayList(~40,000个文件).我需要按日期对这些文件进行升序/降序排序.目前,我用的很简单

Collections.sort(fileList, new FileDateComparator());
Run Code Online (Sandbox Code Playgroud)

FileDateComparator的位置

public class FileDateComparator implements Comparator<File>
{
       @Override
       public int compare(File o1, File o2)
       {
           if(o1.lastModified() < o2.lastModified())
               return -1;
           if(o1.lastModified()==o2.lastModified())
               return 0;
          return 1;
       }
    }
Run Code Online (Sandbox Code Playgroud)

排序对我来说占用的时间太长,比如20秒或更长时间.有没有更有效的方法来实现这一点?我已经尝试使用Apache I/O LastModifiedFileComparator作为比较器,但它似乎以相同的方式实现,因为它需要相同的时间.

java sorting arraylist

6
推荐指数
1
解决办法
1361
查看次数

比较方法在对文件进行排序时违反了其一般契约

我知道这种异常有很多问题,而且我确实找到了解决方案,但我的问题是不同项目中的相同代码不会抛出异常,而这个却抛出异常。这两个项目都具有相同版本的 Java 和其他库。

基本上我有一个小函数,它从目录中检索文件列表,按时间戳对它们进行排序,然后返回绝对文件名列表:

public static List<String> getFiles(String dir) {

    List<String> fileList = new ArrayList<String>();
    File[] files = new File(dir).listFiles();

    // Sort files by the date of their creation (last modification)
    Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_COMPARATOR);

    for (File f : files) {
        fileList.add(f.getAbsolutePath());
    }
    return fileList;

}
Run Code Online (Sandbox Code Playgroud)

基本上,在其中一个项目中,此代码按预期执行,而在其他项目中,它会抛出IllegalArgumentException: Comparison method violates its general contract!

我知道TimSort从 1.7 开始这是 Java 中的默认排序,解决方案之一是使用强制使用旧版的属性MergeSort。我没有走那条路...相反,我“缓存”文件及其时间戳,如下所示

public static List<String> getFiles(String dir) {

    List<String> fileList = new ArrayList<String>();
    File[] files = new File(dir).listFiles();

    FileLastModifiedPair[] …
Run Code Online (Sandbox Code Playgroud)

java sorting file comparator

5
推荐指数
1
解决办法
931
查看次数

如何使用groovy从目录中获取最新文件?

我有一个包含文件列表的目录.我想从所述目录的所有内容中获取最新文件.我该怎么做?

我正在使用此代码,但我没有从中获取最新文件.请帮忙.

def fileDir = new File("A/B").listFiles().first()
Run Code Online (Sandbox Code Playgroud)

谢谢.

groovy file

4
推荐指数
1
解决办法
4996
查看次数

在android中删除sdcard中的文件

我正在制作一个应用程序,我必须在sdcard中删除最近添加的mp3文件.保存歌曲的格式为:

Songhello_17_26.amr
Run Code Online (Sandbox Code Playgroud)

其中17_26是添加歌曲的时间.谁能帮助我如何删除sdcard中最近添加的文件.我的意思是说我要删除时间意味着最新添加的文件应该被删除.任何帮助将不胜感激.

android file sd-card delete-file

3
推荐指数
1
解决办法
7669
查看次数

java.io.File.list()给出了顺序创建的文件夹的不同顺序

java.io.File.list()给出了顺序创建的文件夹的不同顺序

创建名称为的临时文件夹时

"Temp" + auto-incremented number 
e.g. Temp1, Temp2, Temp3...Temp10, Temp11 and so on. 
Run Code Online (Sandbox Code Playgroud)

但是当我使用java.io.File.list()来获取文件夹列表以便在创建文件夹时按顺序进一步处理,

but its giving as Temp1, Temp10, Temp11...Temp19, Temp2, Temp20, Temp21 and so on.

I also tried Arrays.sort(files); but no change in order of folder list
Run Code Online (Sandbox Code Playgroud)

请告诉我们如何获得与顺序创建的文件夹相同的订单列表?

java lexicographic

-1
推荐指数
1
解决办法
208
查看次数