Javascript 在设备中写入文件
我正在使用ReactNative FS库编写一个csv文件 我在文件写入过程中遇到问题,例如,如果我使用以下方法:Javascript 在设备中写入文件,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在使用ReactNative FS库编写一个csv文件 我在文件写入过程中遇到问题,例如,如果我使用以下方法: createFile(){ //Scrivere file RNFS.writeFile ( path, this.state.array_acc_sx, 'ascii' ) .then((success) =&
createFile(){
//Scrivere file
RNFS.writeFile
(
path,
this.state.array_acc_sx,
'ascii'
)
.then((success) => {
console.log('FILE WRITTEN!');
})
.catch((err) => {
console.log(err.message);
});
}
我编写了一个包含所有值的csv文档(这是正确的)
如果我写:
RNFS.writeFile
(
path,
{'LA' : this.state.array_acc_sx,
'RA' : this.state.array_acc_dx },
'ascii'
)
结果是[Object]。我也尝试在this.state之前使用JSON.stringfy。。。但这是一样的。我该怎么办
EDIT1:我尝试在{LA:..}之前执行JSON.stringfy,在本例中,它将所有内容写入一行。您知道如何将数据分隔为一行吗
多谢各位
编辑2:
我想要得到什么
应该正确地字符串化如下:
RNFS.writeFile(path,JSON.stringify({'LA' : this.state.array_acc_sx, 'RA' : this.state.array_acc_dx }),'ascii')
如果要创建
CSV
文件,它是一组逗号分隔的字符串
const mainString='LA';
常数2=‘RA’;
const rowString=this.state.array_acc_sx.map(arr=>`${arr[0]},${arr[1]}\n`)。join(“”);
const rowString2=this.state.array_acc_dx.map(arr=>`${arr[0]},${arr[1]}\n`);
常量行值=主字符串+行字符串
常量rowValue2=mainString2+rowString2
const csvValue=`${rowValue}\n${rowValue2}`;
writeFile(路径,csvValue,'utf8')
。然后((成功)=>{
log('FILE writed!',成功);
})
.catch(error=>console.error(error));
谢谢你的回答:)但是所有的数据都写在一行中,我需要每个数据都写在不同的行中,你知道我该怎么做吗?谢谢你的回答!您正在使用RNFetchBlob?与react native fs相同?使用方法相同。我的答案已更正。当前值是多少?您想要什么形状?@Jack23我修改了我对您评论的答案。@Jack23好的,我在答案代码中添加了“\n”writing。你想再试一次吗?