为什么BufferedWriter不能将URL内容写入文本文件?

我正在尝试将URL中的文本分35行写入文本文件,然后按Enter键继续到下一批35行。如果我不尝试以35行为单位批量写入文件,则效果很好,并将所有内容写入文本文件。但是,当我尝试使用if语句以35批打印时,除非我按Enter 15次左右,否则它不会打印到文件中。即使那样,它也不能打印所有内容。我似乎与if语句有关,但我无法弄清楚。

import React from 'react'
import { SafeAreaView,Text } from 'react-native'
import { useTheme } from '@react-navigation/native'

export default class Home extends React.Component {

    constructor(props) {
        super(props)
        this.state = {
            theme: undefined
        }
    }

    setTheme = theme => {
        this.setState({theme})
    }

    render () {

        console.log('theme',this.state.theme)

        return (
            <SafeAreaView>
                <SetTheme setTheme={this.setTheme} />
                <Text>Hello world</Text>
            </SafeAreaView>
        )
    }

}

const SetTheme = ({ setTheme }) => {
    const theme = useTheme()

    React.useEffect(() => {
        setTheme(theme)
        return () => null
    },[])

    return null
}
yzf710905 回答:为什么BufferedWriter不能将URL内容写入文本文件?

我不懂Java,但是.NET中有非常相似的概念。我认为这里有几件事情要考虑。

BufferWriter不会立即写入文件,顾名思义,它充当缓冲区,随着时间的推移收集写请求,然后分批处理。 BufferWriter有一个flush方法可以立即将“排队”的写入刷新到文件-因此,当您达到35(每次写入都不要刷新)时,我会这样做。

另外,BufferedReaderBufferedWriter是可关闭的,因此请确保将它们包装在try语句中,以确保正确地解锁/清除了资源。

本文链接:https://www.f2er.com/2379496.html

大家都在问