小编Dan*_*ard的帖子

Java - 在程序中创建新的文件扩展名

我的目标是为我正在创建的程序创建一个新的文件扩展名(可能不止一个).所以,经过四处寻找之后,我找到了一些关于这个问题的资料,如下所示,以防万一有人想看看它们,并了解我一直在关注的内容.

在Java应用程序中使用文件关联

创建注册表项以将文件扩展名与C++中的应用程序相关联

将文件扩展名与程序相关联

http://support.microsoft.com/?scid=kb%3Ben-us%3B185453&x=6&y=11

http://www.rgagnon.com/javadetails/java-0592.html

http://www.rgagnon.com/javadetails/java-0480.html

另请注意,Microsoft支持实际上是一个Visual Basic课程,但我只是想看看注册表中是否有任何相似之处.

他们中的大多数人通常会谈论进行一些注册表编辑,以便Windows可以识别新文件并知道如何处理它.然后我偶然发现了Oracle的这篇文章,它声称你能够用一些(看似)简单的Java代码完成上述所有工作.我觉得如果这很容易,有人会指出它.此外,该文件来自2006年.我有很多问题,我理解这些问题可以解决很多问题,所以如果有人抽出时间来回答这个问题,那么谢谢!

  • 创建和关联Java程序的文件类型的最佳方法是什么?
  • 如果使用Oracle方法,是否在完全独立的程序中完成?我假设您不希望每次程序运行时都创建并关联文件类型,并且从我看到的,实际上将返回错误.
  • 我希望其他人(只有Windows用户)能够轻松安装该程序,但我使用的是Windows 7 64位.我应该注意哪些更改,以使该关联也与32位系统兼容?
  • 使用任何一种方法(即如果我只是想创建测试文件扩展名),这些更改是否可以轻松且完全可逆?

我没有找到任何广泛的资料来教授如何做这种事情而没有先前的知识,所以如果有人不能回答我的问题,但确实有一个很好的来源,我可以看一下,那会很好,太.

java winapi file-association

8
推荐指数
1
解决办法
1371
查看次数

Java - 扫描仪在一定数量的行之后不扫描

我在Java中做了一些相对简单的I/O. 我有一个.txt文件,我正在阅读使用扫描仪和.txt文件,我正在使用BufferedWriter写.然后另一个Scanner读取该文件,然后另一个BufferedWriter创建另一个.txt文件.我提供了下面的代码以防万一,但我不知道它是否会有太多帮助,因为我不认为代码是这里的问题.代码编译没有任何错误,但它没有做我期望的.由于某种原因,charReader只读取其文件的大约一半,然后hasNext()将返回false,即使文件末尾尚未到达.这些不是大文本文件 - statsReader的文件是34 KB,而charReader的文件是29 KB,甚至更奇怪,因为statsReader读取整个文件很好,而且它更大!此外,我确实有一个try/catch包围的代码,我只是没有包含它.

从我在网上看到的情况来看,这可能发生在非常大的文件中,但这些文件非常小,所以我很丢失.

我的操作系统是Windows 7 64位.

        Scanner statsReader = new Scanner(statsFile);
        BufferedWriter statsWriter = new BufferedWriter(new FileWriter(outputFile));

        while (statsReader.hasNext()) {
            statsWriter.write(statsReader.next());
            name = statsReader.nextLine();
            temp = statsReader.nextLine();
            if (temp.contains("form")) {
                name += " " + temp;
                temp = statsReader.next();
            }
            statsWriter.write(name);
            statsWriter.newLine();
            statsWriter.write(temp);
            if (! (temp = statsReader.next()).equals("-"))
                statsWriter.write("/" + temp);
            statsWriter.write("\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "");
            statsWriter.newLine();
            statsReader.nextInt();
        }

        Scanner charReader = …
Run Code Online (Sandbox Code Playgroud)

java file-io bufferedreader java.util.scanner

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

附加财产不起作用,除非我在其名称的末尾加上"财产"

我有一个简单的附属物:

class TestAttached
{
    public static readonly DependencyProperty TestProperty = DependencyProperty.RegisterAttached("TestProperty", typeof(string), typeof(TestAttached));

    public static string GetTest(DependencyObject d)
    {
        return (string)d.GetValue(TestProperty);
    }

    public static void SetTest(DependencyObject d, string value)
    {
        d.SetValue(TestProperty, value);
        TextBox tb = d as TextBox;
        tb.Text = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

<TextBox local:TestAttached.Test="Test" />
Run Code Online (Sandbox Code Playgroud)

SetTest除非我将第一个参数设置RegisterAttached为"TestProperty"而不是"Test",否则没有任何事情发生并且没有命中断点(我放在那里).我没有找到任何教程,包括MSDN上的教程,这样做,据我所知,我的代码与他们的代码相同,应该可行.是什么赋予了?

c# wpf attached-properties

0
推荐指数
1
解决办法
230
查看次数