我的目标是为我正在创建的程序创建一个新的文件扩展名(可能不止一个).所以,经过四处寻找之后,我找到了一些关于这个问题的资料,如下所示,以防万一有人想看看它们,并了解我一直在关注的内容.
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中做了一些相对简单的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) 我有一个简单的附属物:
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上的教程,这样做,据我所知,我的代码与他们的代码相同,应该可行.是什么赋予了?