问题标签 [writable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4064 浏览

java - java.nio.file.Files.isWriteable 不同意 java.io.File.canWrite()

我有 Java 代码执行以下操作:

  1. 使用创建一个带有 ZIP 扩展名的临时空文件File.createTempFile()
  2. 删除它File.delete()(我们只希望它生成一个临时文件名)
  3. com.google.commons.io.ByteStreams.copy()使用OutputSupplier给定相同文件名的新文件将“模板”ZIP 文件复制到相同路径
  4. 使用 TrueZIP 7.4.3 修改 ZIP 存档(删除目录)

在特定系统上,第 4 步始终失败FsReadOnlyArchiveFileSystemException - "This is a read-only archive file system!"(请参阅http://java.net/projects/truezip/lists/users/archive/2011-05/message/9

调试 TrueZIP 代码,我注意到以下内容:

  • 在上述任何步骤之间,该文件没有打开的文件句柄,特别是在第 4 步之前
  • 使用 File.canWrite() 而不是 NIO 检查相同的文件在完全相同的时间返回(使用调试器),它表明它是可写的

这是您在调试器表达式列表中看到的内容:

使用 JDK 1.7.04

有任何想法吗?

0 投票
2 回答
5255 浏览

java - Hadoop:原语数组作为键值对中的值

我在之前的线程Hadoop 中提出了一个非常相似的问题:如何将一个双精度数组作为键值对中的值?.

我的问题是我想将双数组作为值从映射传递到减少阶段。我得到的答案是序列化,转换为文本,将其传递给减速器并反序列化。这是一个很好的解决方案,但它就像对它进行两次序列化和反序列化。

ArrayWritable 只接受实现 Writable 的类型,例如 FloatWritable。所以另一种解决方案是将我的双精度数组转换为 DoubleWritables 数组。但这也需要一些时间,而且 Writables 是一种非常昂贵的资源。没有像 ArrayWritable array=new ArrayWritable(Double.class) 这样的非常简单的解决方案吗?

0 投票
3 回答
2666 浏览

c - 有没有办法在运行时修改 Linux C 程序中的函数代码?

简单来说,我们有两个类似的功能:

现在我们在main中调用f1,它打印出123。编译的时候,反汇编f1可能是这样的:

f2 的机器码与 f1 类似。

现在我想在运行时将 f1 替换为 f2 的机器码。我使用 memcpy(f1, f2, SIZE_OF_F2_MACHINE_CODE)。当然,问题来了——段错误。

现在我想知道是否存在解决此问题的解决方案。这是一个常见的 C 程序。据我所知,我们可以使用下面的代码来设置 Linux 内核中的可写页面:

但它不适用于普通的 Linux C 程序。那么什么有效呢?

0 投票
1 回答
2620 浏览

java - Hadoop ArrayWritable 给了我一个 ClassCastException

编辑:问题已解决- 我有一个非常愚蠢的错误。

我有一个由 map、reduce、map 和 reduce 组成的 MapReduce 管道。我对第一个 reduce 使用 SequenceFileOutputFormat,对第二个 map 使用 SequenceFileInputFormat。我已经查看了它的用法,似乎我正在正确使用它。我放入其中的类型是 IntWritable 和 IntPairArrayWritable(使用来自 mahout 的 IntPairWritable 的自定义 ArrayWritable 子类)。问题是,在第二个映射中读取 IntPairArrayWritable 时,当我尝试获取单个 IntPairWritables 时,我得到了 ClassCastException。我不确定这是否是由于我使用 ArrayWritable 类的方式出错,还是我使用 SequenceFile{Input,Output}Format 有问题。我在这里和其他地方看了一堆例子,在我看来我做的都是对的,但我仍然遇到错误。有什么帮助吗?

具体情况:

这是我的第一个减速器类:

第二个映射器类:

第一个 MapReduce 的作业配置的相关部分:

对于第二个 MapReduce:

最后,我的 ArrayWritable 子类:

我得到的具体错误如下:

我很困惑为什么 ArrayWritable 的 get() 方法是一个实例WalkAnalyzer$IntPairArrayWritable- 我期待 get() 返回一个由 包含的元素组成的数组IntPairArrayWritable,如 API 中所述。

编辑

我发现了问题。这就是我为 IntPairArrayWritable 编写构造函数的方式。super(IntPairArrayWritable.class);我应该打电话的时候打电话super(IntPairWritable.class);。代码实际上应该如下所示:

我想为 ArrayWritable 子类使用一个不太容易混淆的名称是个好主意,这样更容易发现错误。

0 投票
1 回答
1128 浏览

hadoop - Hadoop - 如何从实现可写接口切换到使用 Avro 对象?

我正在使用 Hadoop 将 JSON 转换为 CSV 文件,以便使用 Hive 访问它们。

目前,映射器正在填充自己的数据结构,用 JSON-Smart 解析 JSON。然后,reducer 读取该对象并将其写入文件,以逗号分隔。为了使这更快,我已经在数据结构中实现了可写接口......

现在我想将 Avro 用于数据结构对象以具有更大的灵活性和性能。如何更改我的类以使它们交换 Avro 对象而不是可写对象?

0 投票
3 回答
37381 浏览

spring - Bean 属性“xxx”不可写或设置方法无效

我有弹簧网络应用程序。我已经定义了将服务 bean 作为属性的控制器 bean。也服务 bean 取道。Dao 已经过测试并且工作正常。现在服务的问题。实际上,我会确保那里的二传手!

那么问题是什么?

控制器豆:

服务豆:

服务等级:

列表控制器:

错误 :

0 投票
1 回答
1011 浏览

heroku - 如何在 heroku 上制作任何 DIRECTORY WRITABLE ?

如何在 heroku 上制作任何 DIRECTORY WRITABLE ?

因为我在 facebook 上制作了一个应用程序,使用 heroku 托管,但是应该有一些 DIRECTORY 应该是可写的来运行我的应用程序。

谢谢你

0 投票
4 回答
22749 浏览

php - php chmod() 不改变权限

我在使用图片上传脚本时遇到问题。

我知道有数百个相同的问题,但我还没有找到适合我的问题。

这总是返回文件“不可写”

我尝试设置chmod0777-rwxrwxrwx。但结果总是一样的。有任何想法吗?

0 投票
3 回答
7621 浏览

linux - 目录不可写吗

谁能告诉我为什么总是说目录不可写,而绝对是不可写的?

0 投票
0 回答
57 浏览

hadoop - 具有 3rd 方可写性的 hdfs 文本

我已经生成了一个 hdfs 序列文件,它使用 3rd 方库Writable,所以当我尝试通过运行来显示文件的文本时hadoop fs -text /some/file/path,我收到一条错误消息:

文本:java.io.IOException:WriableName 无法加载类:org.example.AnotherWritable

在这种情况下,我该如何使用该-text命令才能解决AnotherWritable